Changeset View
Changeset View
Standalone View
Standalone View
head/sys/geom/label/g_label.c
Show First 20 Lines • Show All 431 Lines • ▼ Show 20 Lines | g_label_ctl_create(struct gctl_req *req, struct g_class *mp) | ||||
} | } | ||||
if (*nargs != 2) { | if (*nargs != 2) { | ||||
gctl_error(req, "Invalid number of arguments."); | gctl_error(req, "Invalid number of arguments."); | ||||
return; | return; | ||||
} | } | ||||
/* | /* | ||||
* arg1 is the name of provider. | * arg1 is the name of provider. | ||||
*/ | */ | ||||
name = gctl_get_asciiparam(req, "arg1"); | pp = gctl_get_provider(req, "arg1"); | ||||
if (name == NULL) { | if (pp == NULL) | ||||
gctl_error(req, "No 'arg%d' argument", 1); | |||||
return; | return; | ||||
} | |||||
if (strncmp(name, _PATH_DEV, strlen(_PATH_DEV)) == 0) | |||||
name += strlen(_PATH_DEV); | |||||
pp = g_provider_by_name(name); | |||||
if (pp == NULL) { | |||||
G_LABEL_DEBUG(1, "Provider %s is invalid.", name); | |||||
gctl_error(req, "Provider %s is invalid.", name); | |||||
return; | |||||
} | |||||
/* | /* | ||||
* arg0 is the label. | * arg0 is the label. | ||||
*/ | */ | ||||
name = gctl_get_asciiparam(req, "arg0"); | name = gctl_get_asciiparam(req, "arg0"); | ||||
if (name == NULL) { | if (name == NULL) { | ||||
gctl_error(req, "No 'arg%d' argument", 0); | gctl_error(req, "No 'arg%d' argument", 0); | ||||
return; | return; | ||||
} | } | ||||
▲ Show 20 Lines • Show All 118 Lines • Show Last 20 Lines |