gctl_get_class, gctl_get_geom and gctl_get_provider: provide feedback
when the requested argument is missing. Reviewed by: cem MFC after: 2 weeks Differential revision: https://reviews.freebsd.org/D25738
This commit is contained in:
parent
9d6d8bf8c7
commit
0ab851aac3
@ -396,12 +396,15 @@ gctl_get_class(struct gctl_req *req, char const *arg)
|
||||
struct g_class *cp;
|
||||
|
||||
p = gctl_get_asciiparam(req, arg);
|
||||
if (p == NULL)
|
||||
if (p == NULL) {
|
||||
gctl_error(req, "Missing %s argument", arg);
|
||||
return (NULL);
|
||||
}
|
||||
LIST_FOREACH(cp, &g_classes, class) {
|
||||
if (!strcmp(p, cp->name))
|
||||
return (cp);
|
||||
}
|
||||
gctl_error(req, "Class not found: \"%s\"", p);
|
||||
return (NULL);
|
||||
}
|
||||
|
||||
@ -413,8 +416,10 @@ gctl_get_geom(struct gctl_req *req, struct g_class *mpr, char const *arg)
|
||||
struct g_geom *gp;
|
||||
|
||||
p = gctl_get_asciiparam(req, arg);
|
||||
if (p == NULL)
|
||||
if (p == NULL) {
|
||||
gctl_error(req, "Missing %s argument", arg);
|
||||
return (NULL);
|
||||
}
|
||||
LIST_FOREACH(mp, &g_classes, class) {
|
||||
if (mpr != NULL && mpr != mp)
|
||||
continue;
|
||||
@ -434,8 +439,10 @@ gctl_get_provider(struct gctl_req *req, char const *arg)
|
||||
struct g_provider *pp;
|
||||
|
||||
p = gctl_get_asciiparam(req, arg);
|
||||
if (p == NULL)
|
||||
if (p == NULL) {
|
||||
gctl_error(req, "Missing '%s' argument", arg);
|
||||
return (NULL);
|
||||
}
|
||||
pp = g_provider_by_name(p);
|
||||
if (pp != NULL)
|
||||
return (pp);
|
||||
@ -453,10 +460,8 @@ g_ctl_req(void *arg, int flag __unused)
|
||||
g_topology_assert();
|
||||
req = arg;
|
||||
mp = gctl_get_class(req, "class");
|
||||
if (mp == NULL) {
|
||||
gctl_error(req, "Class not found");
|
||||
if (mp == NULL)
|
||||
return;
|
||||
}
|
||||
if (mp->ctlreq == NULL) {
|
||||
gctl_error(req, "Class takes no requests");
|
||||
return;
|
||||
|
Loading…
x
Reference in New Issue
Block a user