Changeset View
Changeset View
Standalone View
Standalone View
sys/geom/shsec/g_shsec.c
Show First 20 Lines • Show All 762 Lines • ▼ Show 20 Lines | g_shsec_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 '%s' argument.", "force"); | gctl_error(req, "No '%s' argument.", "force"); | ||||
return; | return; | ||||
} | } | ||||
for (i = 0; i < (u_int)*nargs; i++) { | for (i = 0; i < (u_int)*nargs; i++) { | ||||
snprintf(param, sizeof(param), "arg%u", i); | snprintf(param, sizeof(param), "arg%u", i); | ||||
name = gctl_get_asciiparam(req, param); | name = gctl_get_devname(req, param); | ||||
if (name == NULL) { | if (name == NULL) | ||||
gctl_error(req, "No 'arg%u' argument.", i); | |||||
return; | return; | ||||
} | |||||
sc = g_shsec_find_device(mp, name); | sc = g_shsec_find_device(mp, name); | ||||
if (sc == NULL) { | if (sc == NULL) { | ||||
gctl_error(req, "No such device: %s.", name); | gctl_error(req, "No such device: %s.", name); | ||||
return; | return; | ||||
} | } | ||||
error = g_shsec_destroy(sc, *force); | error = g_shsec_destroy(sc, *force); | ||||
if (error != 0) { | if (error != 0) { | ||||
gctl_error(req, "Cannot destroy device %s (error=%d).", | gctl_error(req, "Cannot destroy device %s (error=%d).", | ||||
▲ Show 20 Lines • Show All 60 Lines • Show Last 20 Lines |