Changeset View
Changeset View
Standalone View
Standalone View
sys/geom/nop/g_nop.c
Show First 20 Lines • Show All 659 Lines • ▼ Show 20 Lines | g_nop_ctl_create(struct gctl_req *req, struct g_class *mp) | ||||
if (val != NULL) { | if (val != NULL) { | ||||
stripeoffset = *val; | stripeoffset = *val; | ||||
if (stripeoffset < 0) { | if (stripeoffset < 0) { | ||||
gctl_error(req, "Invalid '%s' argument", | gctl_error(req, "Invalid '%s' argument", | ||||
"stripeoffset"); | "stripeoffset"); | ||||
return; | return; | ||||
} | } | ||||
} | } | ||||
physpath = gctl_get_asciiparam(req, "physpath"); | physpath = gctl_get_providername(req, "physpath"); | ||||
gnopname = gctl_get_asciiparam(req, "gnopname"); | gnopname = gctl_get_providername(req, "gnopname"); | ||||
if (physpath == NULL || gnopname == NULL) | |||||
return; | |||||
for (i = 0; i < *nargs; i++) { | for (i = 0; i < *nargs; i++) { | ||||
snprintf(param, sizeof(param), "arg%d", i); | snprintf(param, sizeof(param), "arg%d", i); | ||||
pp = gctl_get_provider(req, param); | pp = gctl_get_provider(req, param); | ||||
if (pp == NULL) | if (pp == NULL) | ||||
return; | return; | ||||
if (g_nop_create(req, mp, pp, | if (g_nop_create(req, mp, pp, | ||||
gnopname, | gnopname, | ||||
▲ Show 20 Lines • Show All 152 Lines • ▼ Show 20 Lines | g_nop_ctl_destroy(struct gctl_req *req, struct g_class *mp) | ||||
force = gctl_get_paraml(req, "force", sizeof(*force)); | force = gctl_get_paraml(req, "force", sizeof(*force)); | ||||
if (force == NULL) { | if (force == NULL) { | ||||
gctl_error(req, "No 'force' argument"); | gctl_error(req, "No 'force' argument"); | ||||
return; | return; | ||||
} | } | ||||
for (i = 0; i < *nargs; i++) { | for (i = 0; i < *nargs; i++) { | ||||
snprintf(param, sizeof(param), "arg%d", i); | snprintf(param, sizeof(param), "arg%d", i); | ||||
name = gctl_get_asciiparam(req, param); | name = gctl_get_providername(req, param); | ||||
if (name == NULL) { | if (name == NULL) | ||||
gctl_error(req, "No 'arg%d' argument", i); | |||||
return; | return; | ||||
} | |||||
if (strncmp(name, _PATH_DEV, strlen(_PATH_DEV)) == 0) | |||||
name += strlen(_PATH_DEV); | |||||
gp = g_nop_find_geom(mp, name); | gp = g_nop_find_geom(mp, name); | ||||
if (gp == NULL) { | if (gp == NULL) { | ||||
G_NOP_DEBUG(1, "Device %s is invalid.", name); | G_NOP_DEBUG(1, "Device %s is invalid.", name); | ||||
gctl_error(req, "Device %s is invalid.", name); | gctl_error(req, "Device %s is invalid.", name); | ||||
return; | return; | ||||
} | } | ||||
error = g_nop_destroy(gp, *force); | error = g_nop_destroy(gp, *force); | ||||
if (error != 0) { | if (error != 0) { | ||||
▲ Show 20 Lines • Show All 126 Lines • Show Last 20 Lines |