Author: delphij
Date: Wed Jul 22 02:14:27 2020
New Revision: 363410
URL: https://svnweb.freebsd.org/changeset/base/363410

Log:
  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

Modified:
  head/sys/geom/geom_ctl.c

Modified: head/sys/geom/geom_ctl.c
==============================================================================
--- head/sys/geom/geom_ctl.c    Wed Jul 22 02:09:10 2020        (r363409)
+++ head/sys/geom/geom_ctl.c    Wed Jul 22 02:14:27 2020        (r363410)
@@ -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 *mp
        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 *ar
        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;
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to