Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F144486229
D34940.1774923783.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Size
41 KB
Referenced Files
None
Subscribers
None
D34940.1774923783.diff
View Options
Index: sys/geom/cache/g_cache.c
===================================================================
--- sys/geom/cache/g_cache.c
+++ sys/geom/cache/g_cache.c
@@ -790,11 +790,9 @@
return;
}
- name = gctl_get_asciiparam(req, "arg0");
- if (name == NULL) {
- gctl_error(req, "No 'arg0' argument");
+ name = gctl_get_providername(req, "arg0");
+ if (name == NULL)
return;
- }
sc = g_cache_find_device(mp, name);
if (sc == NULL) {
G_CACHE_DEBUG(1, "Device %s is invalid.", name);
@@ -875,11 +873,9 @@
for (i = 0; i < *nargs; i++) {
snprintf(param, sizeof(param), "arg%d", i);
- name = gctl_get_asciiparam(req, param);
- if (name == NULL) {
- gctl_error(req, "No 'arg%d' argument", i);
+ name = gctl_get_providername(req, param);
+ if (name == NULL)
return;
- }
sc = g_cache_find_device(mp, name);
if (sc == NULL) {
G_CACHE_DEBUG(1, "Device %s is invalid.", name);
@@ -917,11 +913,9 @@
for (i = 0; i < *nargs; i++) {
snprintf(param, sizeof(param), "arg%d", i);
- name = gctl_get_asciiparam(req, param);
- if (name == NULL) {
- gctl_error(req, "No 'arg%d' argument", i);
+ name = gctl_get_providername(req, param);
+ if (name == NULL)
return;
- }
sc = g_cache_find_device(mp, name);
if (sc == NULL) {
G_CACHE_DEBUG(1, "Device %s is invalid.", name);
Index: sys/geom/concat/g_concat.c
===================================================================
--- sys/geom/concat/g_concat.c
+++ sys/geom/concat/g_concat.c
@@ -902,7 +902,7 @@
snprintf(param, sizeof(param), "arg%u", no);
pp = gctl_get_provider(req, param);
if (pp == NULL) {
- name = gctl_get_asciiparam(req, param);
+ name = gctl_get_providername(req, param);
MPASS(name != NULL);
sbuf_printf(sb, " %s", name);
continue;
@@ -929,9 +929,6 @@
struct g_concat_softc *sc;
struct g_geom *gp;
- if (strncmp(name, _PATH_DEV, strlen(_PATH_DEV)) == 0)
- name += strlen(_PATH_DEV);
-
LIST_FOREACH(gp, &mp->geom, geom) {
sc = gp->softc;
if (sc == NULL)
@@ -970,11 +967,9 @@
for (i = 0; i < (u_int)*nargs; i++) {
snprintf(param, sizeof(param), "arg%u", i);
- name = gctl_get_asciiparam(req, param);
- if (name == NULL) {
- gctl_error(req, "No 'arg%u' argument.", i);
+ name = gctl_get_providername(req, param);
+ if (name == NULL)
return;
- }
sc = g_concat_find_device(mp, name);
if (sc == NULL) {
gctl_error(req, "No such device: %s.", name);
@@ -995,8 +990,6 @@
struct g_concat_disk *disk;
sx_assert(&sc->sc_disks_lock, SX_LOCKED);
- if (strncmp(name, "/dev/", 5) == 0)
- name += 5;
TAILQ_FOREACH(disk, &sc->sc_disks, d_next) {
if (disk->d_consumer == NULL)
continue;
@@ -1081,11 +1074,9 @@
return;
}
- cname = gctl_get_asciiparam(req, "arg0");
- if (cname == NULL) {
- gctl_error(req, "No 'arg%u' argument.", 0);
+ cname = gctl_get_providername(req, "arg0");
+ if (cname == NULL)
return;
- }
sc = g_concat_find_device(mp, cname);
if (sc == NULL) {
gctl_error(req, "No such device: %s.", cname);
@@ -1104,13 +1095,9 @@
gp = sc->sc_geom;
fcp = LIST_FIRST(&gp->consumer);
- name = gctl_get_asciiparam(req, "arg1");
- if (name == NULL) {
- gctl_error(req, "No 'arg%u' argument.", 1);
+ name = gctl_get_providername(req, "arg1");
+ if (name == NULL)
goto fail;
- }
- if (strncmp(name, "/dev/", strlen("/dev/")) == 0)
- name += strlen("/dev/");
pp = g_provider_by_name(name);
if (pp == NULL) {
G_CONCAT_DEBUG(1, "Disk %s is invalid.", name);
Index: sys/geom/eli/g_eli_ctl.c
===================================================================
--- sys/geom/eli/g_eli_ctl.c
+++ sys/geom/eli/g_eli_ctl.c
@@ -174,8 +174,6 @@
struct g_provider *pp;
struct g_consumer *cp;
- if (strncmp(prov, _PATH_DEV, strlen(_PATH_DEV)) == 0)
- prov += strlen(_PATH_DEV);
LIST_FOREACH(gp, &mp->geom, geom) {
sc = gp->softc;
if (sc == NULL)
@@ -225,11 +223,9 @@
for (i = 0; i < *nargs; i++) {
snprintf(param, sizeof(param), "arg%d", i);
- prov = gctl_get_asciiparam(req, param);
- if (prov == NULL) {
- gctl_error(req, "No 'arg%d' argument.", i);
+ prov = gctl_get_providername(req, param);
+ if (prov == NULL)
return;
- }
sc = g_eli_find_device(mp, prov);
if (sc == NULL) {
gctl_error(req, "No such device: %s.", prov);
@@ -487,11 +483,9 @@
for (i = 0; i < *nargs; i++) {
snprintf(param, sizeof(param), "arg%d", i);
- prov = gctl_get_asciiparam(req, param);
- if (prov == NULL) {
- gctl_error(req, "No 'arg%d' argument.", i);
+ prov = gctl_get_providername(req, param);
+ if (prov == NULL)
return;
- }
sc = g_eli_find_device(mp, prov);
if (sc == NULL) {
/*
@@ -652,11 +646,9 @@
g_topology_assert();
- name = gctl_get_asciiparam(req, "arg0");
- if (name == NULL) {
- gctl_error(req, "No 'arg%u' argument.", 0);
+ name = gctl_get_providername(req, "arg0");
+ if (name == NULL)
return;
- }
key = gctl_get_param(req, "key", &keysize);
if (key == NULL || keysize != G_ELI_USERKEYLEN) {
gctl_error(req, "No '%s' argument.", "key");
@@ -764,11 +756,9 @@
nkey = 0; /* fixes causeless gcc warning */
- name = gctl_get_asciiparam(req, "arg0");
- if (name == NULL) {
- gctl_error(req, "No 'arg%u' argument.", 0);
+ name = gctl_get_providername(req, "arg0");
+ if (name == NULL)
return;
- }
sc = g_eli_find_device(mp, name);
if (sc == NULL) {
gctl_error(req, "Provider %s is invalid.", name);
@@ -951,11 +941,9 @@
for (i = 0; i < *nargs; i++) {
snprintf(param, sizeof(param), "arg%d", i);
- prov = gctl_get_asciiparam(req, param);
- if (prov == NULL) {
- G_ELI_DEBUG(0, "No 'arg%d' argument.", i);
+ prov = gctl_get_providername(req, param);
+ if (prov == NULL)
continue;
- }
sc = g_eli_find_device(mp, prov);
if (sc == NULL) {
@@ -991,11 +979,9 @@
return;
}
- name = gctl_get_asciiparam(req, "arg0");
- if (name == NULL) {
- gctl_error(req, "No 'arg%u' argument.", 0);
+ name = gctl_get_providername(req, "arg0");
+ if (name == NULL)
return;
- }
key = gctl_get_param(req, "key", &keysize);
if (key == NULL || keysize != G_ELI_USERKEYLEN) {
gctl_error(req, "No '%s' argument.", "key");
@@ -1142,11 +1128,9 @@
for (i = 0; i < *nargs; i++) {
snprintf(param, sizeof(param), "arg%d", i);
- prov = gctl_get_asciiparam(req, param);
- if (prov == NULL) {
- G_ELI_DEBUG(0, "No 'arg%d' argument.", i);
+ prov = gctl_get_providername(req, param);
+ if (prov == NULL)
continue;
- }
sc = g_eli_find_device(mp, prov);
if (sc == NULL) {
Index: sys/geom/geom.h
===================================================================
--- sys/geom/geom.h
+++ sys/geom/geom.h
@@ -421,11 +421,21 @@
int g_is_geom_thread(struct thread *td);
+#else
+#include <string.h>
+#endif /* _KERNEL */
+
#ifndef _PATH_DEV
#define _PATH_DEV "/dev/"
#endif
-#endif /* _KERNEL */
+static __inline const char *
+g_provider_name(const char *path)
+{
+ if (strncmp(path, _PATH_DEV, sizeof(_PATH_DEV) - 1) == 0)
+ path += sizeof(_PATH_DEV) - 1;
+ return (path);
+}
/* geom_ctl.c */
int gctl_set_param(struct gctl_req *req, const char *param, void const *ptr, int len);
@@ -439,6 +449,7 @@
void gctl_msg(struct gctl_req *req, const char *fmt, ...) __printflike(2, 3);
void gctl_post_messages(struct gctl_req *req);
struct g_class *gctl_get_class(struct gctl_req *req, char const *arg);
+const char *gctl_get_providername(struct gctl_req *, const char *);
struct g_geom *gctl_get_geom(struct gctl_req *req, struct g_class *mp, char const *arg);
struct g_provider *gctl_get_provider(struct gctl_req *req, char const *arg);
Index: sys/geom/geom_ctl.c
===================================================================
--- sys/geom/geom_ctl.c
+++ sys/geom/geom_ctl.c
@@ -436,6 +436,20 @@
return (p);
}
+const char *
+gctl_get_providername(struct gctl_req *req, const char *param)
+{
+ const char *name;
+
+ name = gctl_get_asciiparam(req, param);
+ if (name == NULL)
+ gctl_error(req, "Missing %s argument", param);
+ else
+ name = g_provider_name(name);
+
+ return (name);
+}
+
struct g_class *
gctl_get_class(struct gctl_req *req, char const *arg)
{
@@ -480,11 +494,9 @@
char const *p;
struct g_provider *pp;
- p = gctl_get_asciiparam(req, arg);
- if (p == NULL) {
- gctl_error(req, "Missing '%s' argument", arg);
+ p = gctl_get_providername(req, arg);
+ if (p == NULL)
return (NULL);
- }
pp = g_provider_by_name(p);
if (pp != NULL)
return (pp);
Index: sys/geom/geom_dev.c
===================================================================
--- sys/geom/geom_dev.c
+++ sys/geom/geom_dev.c
@@ -179,9 +179,8 @@
{
struct diocskerneldump_arg kda;
struct g_consumer *cp;
- const char *devprefix = _PATH_DEV, *devname;
+ const char *devname;
int error;
- size_t len;
bzero(&kda, sizeof(kda));
kda.kda_index = KDA_APPEND;
@@ -189,11 +188,8 @@
if (dumpdev == NULL)
return (0);
- len = strlen(devprefix);
devname = devtoname(dev);
- if (strcmp(devname, dumpdev) != 0 &&
- (strncmp(dumpdev, devprefix, len) != 0 ||
- strcmp(devname, dumpdev + len) != 0))
+ if (strcmp(devname, g_provider_name(dumpdev)) != 0)
return (0);
cp = (struct g_consumer *)dev->si_drv2;
Index: sys/geom/geom_subr.c
===================================================================
--- sys/geom/geom_subr.c
+++ sys/geom/geom_subr.c
@@ -765,8 +765,7 @@
struct g_geom *gp;
struct g_provider *pp, *wpp;
- if (strncmp(arg, _PATH_DEV, sizeof(_PATH_DEV) - 1) == 0)
- arg += sizeof(_PATH_DEV) - 1;
+ arg = g_provider_name(arg);
wpp = NULL;
LIST_FOREACH(cp, &g_classes, class) {
Index: sys/geom/journal/g_journal.c
===================================================================
--- sys/geom/journal/g_journal.c
+++ sys/geom/journal/g_journal.c
@@ -2512,8 +2512,6 @@
struct g_geom *gp;
struct g_provider *pp;
- if (strncmp(name, _PATH_DEV, 5) == 0)
- name += 5;
LIST_FOREACH(gp, &mp->geom, geom) {
sc = gp->softc;
if (sc == NULL)
@@ -2554,11 +2552,9 @@
for (i = 0; i < *nargs; i++) {
snprintf(param, sizeof(param), "arg%d", i);
- name = gctl_get_asciiparam(req, param);
- if (name == NULL) {
- gctl_error(req, "No 'arg%d' argument.", i);
+ name = gctl_get_providername(req, param);
+ if (name == NULL)
return;
- }
sc = g_journal_find_device(mp, name);
if (sc == NULL) {
gctl_error(req, "No such device: %s.", name);
Index: sys/geom/label/g_label.c
===================================================================
--- sys/geom/label/g_label.c
+++ sys/geom/label/g_label.c
@@ -475,8 +475,6 @@
{
u_int i;
- if (strncmp(name, _PATH_DEV, strlen(_PATH_DEV)) == 0)
- name += strlen(_PATH_DEV);
for (i = 0; g_labels[i] != NULL; i++) {
if (strncmp(name, g_labels[i]->ld_dirprefix,
strlen(g_labels[i]->ld_dirprefix)) == 0) {
@@ -531,11 +529,9 @@
for (i = 0; i < *nargs; i++) {
snprintf(param, sizeof(param), "arg%d", i);
- name = gctl_get_asciiparam(req, param);
- if (name == NULL) {
- gctl_error(req, "No 'arg%d' argument", i);
+ name = gctl_get_providername(req, param);
+ if (name == NULL)
return;
- }
gp = g_label_find_geom(mp, name);
if (gp == NULL) {
G_LABEL_DEBUG(1, "Label %s is invalid.", name);
Index: sys/geom/mirror/g_mirror_ctl.c
===================================================================
--- sys/geom/mirror/g_mirror_ctl.c
+++ sys/geom/mirror/g_mirror_ctl.c
@@ -131,8 +131,6 @@
struct g_mirror_disk *disk;
sx_assert(&sc->sc_lock, SX_XLOCKED);
- if (strncmp(name, _PATH_DEV, 5) == 0)
- name += 5;
LIST_FOREACH(disk, &sc->sc_disks, d_next) {
if (disk->d_consumer == NULL)
continue;
@@ -165,11 +163,9 @@
gctl_error(req, "Invalid number of arguments.");
return;
}
- name = gctl_get_asciiparam(req, "arg0");
- if (name == NULL) {
- gctl_error(req, "No 'arg%u' argument.", 0);
+ name = gctl_get_providername(req, "arg0");
+ if (name == NULL)
return;
- }
balancep = gctl_get_asciiparam(req, "balance");
if (balancep == NULL) {
gctl_error(req, "No '%s' argument.", "balance");
@@ -220,7 +216,7 @@
* Note: be WARNS safe, by always assigning prov and only throw an
* error if *priority != -1.
*/
- prov = gctl_get_asciiparam(req, "arg1");
+ prov = gctl_get_providername(req, "arg1");
if (*priority > -1) {
if (prov == NULL) {
gctl_error(req, "Priority needs a disk name");
@@ -393,11 +389,9 @@
strlcpy(md.md_magic, G_MIRROR_MAGIC, sizeof(md.md_magic));
md.md_version = G_MIRROR_VERSION;
- name = gctl_get_asciiparam(req, "arg0");
- if (name == NULL) {
- gctl_error(req, "No 'arg%u' argument.", 0);
+ name = gctl_get_providername(req, "arg0");
+ if (name == NULL)
return;
- }
strlcpy(md.md_name, name, sizeof(md.md_name));
md.md_mid = arc4random();
md.md_all = *nargs - 1;
@@ -497,7 +491,7 @@
snprintf(param, sizeof(param), "arg%u", no);
pp = gctl_get_provider(req, param);
if (pp == NULL) {
- name = gctl_get_asciiparam(req, param);
+ name = gctl_get_providername(req, param);
MPASS(name != NULL);
sbuf_printf(sb, " %s", name);
continue;
@@ -544,11 +538,9 @@
gctl_error(req, "Too few arguments.");
return;
}
- name = gctl_get_asciiparam(req, "arg0");
- if (name == NULL) {
- gctl_error(req, "No 'arg%u' argument.", 0);
+ name = gctl_get_providername(req, "arg0");
+ if (name == NULL)
return;
- }
sc = g_mirror_find_device(mp, name);
if (sc == NULL) {
gctl_error(req, "No such device: %s.", name);
@@ -556,11 +548,9 @@
}
for (i = 1; i < (u_int)*nargs; i++) {
snprintf(param, sizeof(param), "arg%u", i);
- name = gctl_get_asciiparam(req, param);
- if (name == NULL) {
- gctl_error(req, "No 'arg%u' argument.", i);
+ name = gctl_get_providername(req, param);
+ if (name == NULL)
continue;
- }
disk = g_mirror_find_disk(sc, name);
if (disk == NULL) {
gctl_error(req, "No such provider: %s.", name);
@@ -650,11 +640,9 @@
gctl_error(req, "No '%s' argument.", "hardcode");
return;
}
- name = gctl_get_asciiparam(req, "arg0");
- if (name == NULL) {
- gctl_error(req, "No 'arg%u' argument.", 0);
+ name = gctl_get_providername(req, "arg0");
+ if (name == NULL)
return;
- }
sc = g_mirror_find_launched_device(mp, name, M_WAITOK);
if (sc == NULL) {
gctl_error(req, "No such device: %s.", name);
@@ -809,11 +797,9 @@
gctl_error(req, "Too few arguments.");
return;
}
- name = gctl_get_asciiparam(req, "arg0");
- if (name == NULL) {
- gctl_error(req, "No 'arg%u' argument.", 0);
+ name = gctl_get_providername(req, "arg0");
+ if (name == NULL)
return;
- }
sc = g_mirror_find_device(mp, name);
if (sc == NULL) {
gctl_error(req, "No such device: %s.", name);
@@ -828,11 +814,9 @@
active = g_mirror_ndisks(sc, G_MIRROR_DISK_STATE_ACTIVE);
for (i = 1; i < (u_int)*nargs; i++) {
snprintf(param, sizeof(param), "arg%u", i);
- name = gctl_get_asciiparam(req, param);
- if (name == NULL) {
- gctl_error(req, "No 'arg%u' argument.", i);
+ name = gctl_get_providername(req, param);
+ if (name == NULL)
continue;
- }
disk = g_mirror_find_disk(sc, name);
if (disk == NULL) {
gctl_error(req, "No such provider: %s.", name);
@@ -873,11 +857,9 @@
gctl_error(req, "Missing device.");
return;
}
- name = gctl_get_asciiparam(req, "arg0");
- if (name == NULL) {
- gctl_error(req, "No 'arg%u' argument.", 0);
+ name = gctl_get_providername(req, "arg0");
+ if (name == NULL)
return;
- }
s = gctl_get_asciiparam(req, "size");
if (s == NULL) {
gctl_error(req, "No '%s' argument.", "size");
@@ -941,11 +923,9 @@
gctl_error(req, "Too few arguments.");
return;
}
- name = gctl_get_asciiparam(req, "arg0");
- if (name == NULL) {
- gctl_error(req, "No 'arg%u' argument.", 0);
+ name = gctl_get_providername(req, "arg0");
+ if (name == NULL)
return;
- }
sc = g_mirror_find_device(mp, name);
if (sc == NULL) {
gctl_error(req, "No such device: %s.", name);
@@ -954,11 +934,9 @@
active = g_mirror_ndisks(sc, G_MIRROR_DISK_STATE_ACTIVE);
for (i = 1; i < (u_int)*nargs; i++) {
snprintf(param, sizeof(param), "arg%u", i);
- name = gctl_get_asciiparam(req, param);
- if (name == NULL) {
- gctl_error(req, "No 'arg%u' argument.", i);
+ name = gctl_get_providername(req, param);
+ if (name == NULL)
continue;
- }
disk = g_mirror_find_disk(sc, name);
if (disk == NULL) {
gctl_error(req, "No such provider: %s.", name);
@@ -1006,11 +984,9 @@
for (i = 0; i < (u_int)*nargs; i++) {
snprintf(param, sizeof(param), "arg%u", i);
- name = gctl_get_asciiparam(req, param);
- if (name == NULL) {
- gctl_error(req, "No 'arg%u' argument.", i);
+ name = gctl_get_providername(req, param);
+ if (name == NULL)
return;
- }
sc = g_mirror_find_device(mp, name);
if (sc == NULL) {
gctl_error(req, "No such device: %s.", name);
@@ -1062,11 +1038,9 @@
for (i = 0; i < (u_int)*nargs; i++) {
snprintf(param, sizeof(param), "arg%u", i);
- name = gctl_get_asciiparam(req, param);
- if (name == NULL) {
- gctl_error(req, "No 'arg%u' argument.", i);
+ name = gctl_get_providername(req, param);
+ if (name == NULL)
return;
- }
sc = g_mirror_find_device(mp, name);
if (sc == NULL) {
gctl_error(req, "No such device: %s.", name);
Index: sys/geom/mountver/g_mountver.c
===================================================================
--- sys/geom/mountver/g_mountver.c
+++ sys/geom/mountver/g_mountver.c
@@ -466,13 +466,9 @@
for (i = 0; i < *nargs; i++) {
snprintf(param, sizeof(param), "arg%d", i);
- name = gctl_get_asciiparam(req, param);
- if (name == NULL) {
- gctl_error(req, "No 'arg%d' argument", i);
+ name = gctl_get_providername(req, param);
+ if (name == NULL)
return;
- }
- if (strncmp(name, _PATH_DEV, strlen(_PATH_DEV)) == 0)
- name += strlen(_PATH_DEV);
gp = g_mountver_find_geom(mp, name);
if (gp == NULL) {
G_MOUNTVER_DEBUG(1, "Device %s is invalid.", name);
Index: sys/geom/multipath/g_multipath.c
===================================================================
--- sys/geom/multipath/g_multipath.c
+++ sys/geom/multipath/g_multipath.c
@@ -951,16 +951,13 @@
struct g_consumer *cp;
struct g_provider *pp;
const char *mpname;
- static const char devpf[6] = _PATH_DEV;
int error;
g_topology_assert();
- mpname = gctl_get_asciiparam(req, "arg0");
- if (mpname == NULL) {
- gctl_error(req, "No 'arg0' argument");
+ mpname = gctl_get_providername(req, "arg0");
+ if (mpname == NULL)
return;
- }
gp = g_multipath_find_geom(mp, mpname);
if (gp == NULL) {
gctl_error(req, "Device %s is invalid", mpname);
@@ -968,8 +965,6 @@
}
sc = gp->softc;
- if (strncmp(name, devpf, 5) == 0)
- name += 5;
pp = g_provider_by_name(name);
if (pp == NULL) {
gctl_error(req, "Provider %s is invalid", name);
@@ -1014,16 +1009,13 @@
struct g_multipath_softc *sc;
struct g_consumer *cp;
const char *name, *mpname;
- static const char devpf[6] = _PATH_DEV;
int *nargs;
g_topology_assert();
- mpname = gctl_get_asciiparam(req, "arg0");
- if (mpname == NULL) {
- gctl_error(req, "No 'arg0' argument");
+ mpname = gctl_get_providername(req, "arg0");
+ if (mpname == NULL)
return;
- }
gp = g_multipath_find_geom(mp, mpname);
if (gp == NULL) {
gctl_error(req, "Device %s is invalid", mpname);
@@ -1041,14 +1033,9 @@
return;
}
- name = gctl_get_asciiparam(req, "arg1");
- if (name == NULL) {
- gctl_error(req, "No 'arg1' argument");
+ name = gctl_get_providername(req, "arg1");
+ if (name == NULL)
return;
- }
- if (strncmp(name, devpf, 5) == 0) {
- name += 5;
- }
LIST_FOREACH(cp, &gp->consumer, consumer) {
if (cp->provider != NULL
@@ -1085,22 +1072,18 @@
struct g_geom *gp;
const char *mpname, *name;
- mpname = gctl_get_asciiparam(req, "arg0");
- if (mpname == NULL) {
- gctl_error(req, "No 'arg0' argument");
+ mpname = gctl_get_providername(req, "arg0");
+ if (mpname == NULL)
return;
- }
gp = g_multipath_find_geom(mp, mpname);
if (gp == NULL) {
gctl_error(req, "Device %s not found", mpname);
return;
}
- name = gctl_get_asciiparam(req, "arg1");
- if (name == NULL) {
- gctl_error(req, "No 'arg1' argument");
+ name = gctl_get_providername(req, "arg1");
+ if (name == NULL)
return;
- }
g_multipath_ctl_add_name(req, mp, name);
}
@@ -1122,11 +1105,9 @@
return;
}
- mpname = gctl_get_asciiparam(req, "arg0");
- if (mpname == NULL) {
- gctl_error(req, "No 'arg0' argument");
+ mpname = gctl_get_providername(req, "arg0");
+ if (mpname == NULL)
return;
- }
gp = g_multipath_find_geom(mp, mpname);
if (gp != NULL) {
gctl_error(req, "Device %s already exist", mpname);
@@ -1157,7 +1138,9 @@
for (i = 1; i < *nargs; i++) {
snprintf(param, sizeof(param), "arg%d", i);
- name = gctl_get_asciiparam(req, param);
+ name = gctl_get_providername(req, param);
+ if (name == NULL)
+ continue;
g_multipath_ctl_add_name(req, mp, name);
}
@@ -1178,11 +1161,9 @@
g_topology_assert();
- name = gctl_get_asciiparam(req, "arg0");
- if (name == NULL) {
- gctl_error(req, "No 'arg0' argument");
+ name = gctl_get_providername(req, "arg0");
+ if (name == NULL)
return;
- }
gp = g_multipath_find_geom(mp, name);
if (gp == NULL) {
gctl_error(req, "Device %s is invalid", name);
@@ -1224,11 +1205,9 @@
const char *mpname, *name;
int found;
- mpname = gctl_get_asciiparam(req, "arg0");
- if (mpname == NULL) {
- gctl_error(req, "No 'arg0' argument");
+ mpname = gctl_get_providername(req, "arg0");
+ if (mpname == NULL)
return;
- }
gp = g_multipath_find_geom(mp, mpname);
if (gp == NULL) {
gctl_error(req, "Device %s not found", mpname);
@@ -1236,11 +1215,9 @@
}
sc = gp->softc;
- name = gctl_get_asciiparam(req, "arg1");
- if (name == NULL) {
- gctl_error(req, "No 'arg1' argument");
+ name = gctl_get_providername(req, "arg1");
+ if (name == NULL)
return;
- }
found = 0;
mtx_lock(&sc->sc_mtx);
@@ -1279,11 +1256,9 @@
uintptr_t *cnt;
int found;
- mpname = gctl_get_asciiparam(req, "arg0");
- if (mpname == NULL) {
- gctl_error(req, "No 'arg0' argument");
+ mpname = gctl_get_providername(req, "arg0");
+ if (mpname == NULL)
return;
- }
gp = g_multipath_find_geom(mp, mpname);
if (gp == NULL) {
gctl_error(req, "Device %s not found", mpname);
@@ -1291,11 +1266,9 @@
}
sc = gp->softc;
- name = gctl_get_asciiparam(req, "arg1");
- if (name == NULL) {
- gctl_error(req, "No 'arg1' argument");
+ name = gctl_get_providername(req, "arg1");
+ if (name == NULL)
return;
- }
found = 0;
mtx_lock(&sc->sc_mtx);
@@ -1351,11 +1324,9 @@
g_topology_assert();
- name = gctl_get_asciiparam(req, "arg0");
- if (name == NULL) {
- gctl_error(req, "No 'arg0' argument");
+ name = gctl_get_providername(req, "arg0");
+ if (name == NULL)
return;
- }
gp = g_multipath_find_geom(mp, name);
if (gp == NULL) {
gctl_error(req, "Device %s is invalid", name);
@@ -1379,11 +1350,9 @@
g_topology_assert();
- name = gctl_get_asciiparam(req, "arg0");
- if (name == NULL) {
- gctl_error(req, "No 'arg0' argument");
+ name = gctl_get_providername(req, "arg0");
+ if (name == NULL)
return;
- }
gp = g_multipath_find_geom(mp, name);
if (gp == NULL) {
gctl_error(req, "Device %s is invalid", name);
@@ -1425,11 +1394,9 @@
g_topology_assert();
- name = gctl_get_asciiparam(req, "arg0");
- if (name == NULL) {
- gctl_error(req, "No 'arg0' argument");
+ name = gctl_get_providername(req, "arg0");
+ if (name == NULL)
return;
- }
gp = g_multipath_find_geom(mp, name);
if (gp == NULL) {
gctl_error(req, "Device %s is invalid", name);
@@ -1454,11 +1421,9 @@
sb = sbuf_new_auto();
g_topology_assert();
- name = gctl_get_asciiparam(req, "arg0");
- if (name == NULL) {
- gctl_error(req, "No 'arg0' argument");
+ name = gctl_get_providername(req, "arg0");
+ if (name == NULL)
return;
- }
gp = g_multipath_find_geom(mp, name);
if (gp == NULL) {
gctl_error(req, "Device %s is invalid", name);
Index: sys/geom/nop/g_nop.c
===================================================================
--- sys/geom/nop/g_nop.c
+++ sys/geom/nop/g_nop.c
@@ -665,8 +665,10 @@
return;
}
}
- physpath = gctl_get_asciiparam(req, "physpath");
- gnopname = gctl_get_asciiparam(req, "gnopname");
+ physpath = gctl_get_providername(req, "physpath");
+ gnopname = gctl_get_providername(req, "gnopname");
+ if (physpath == NULL || gnopname == NULL)
+ return;
for (i = 0; i < *nargs; i++) {
snprintf(param, sizeof(param), "arg%d", i);
@@ -835,13 +837,9 @@
for (i = 0; i < *nargs; i++) {
snprintf(param, sizeof(param), "arg%d", i);
- name = gctl_get_asciiparam(req, param);
- if (name == NULL) {
- gctl_error(req, "No 'arg%d' argument", i);
+ name = gctl_get_providername(req, param);
+ if (name == NULL)
return;
- }
- if (strncmp(name, _PATH_DEV, strlen(_PATH_DEV)) == 0)
- name += strlen(_PATH_DEV);
gp = g_nop_find_geom(mp, name);
if (gp == NULL) {
G_NOP_DEBUG(1, "Device %s is invalid.", name);
Index: sys/geom/part/g_part.c
===================================================================
--- sys/geom/part/g_part.c
+++ sys/geom/part/g_part.c
@@ -530,11 +530,9 @@
struct g_geom *gp;
const char *gname;
- gname = gctl_get_asciiparam(req, name);
+ gname = gctl_get_providername(req, name);
if (gname == NULL)
return (ENOATTR);
- if (strncmp(gname, _PATH_DEV, sizeof(_PATH_DEV) - 1) == 0)
- gname += sizeof(_PATH_DEV) - 1;
gp = g_part_find_geom(gname);
if (gp == NULL) {
gctl_error(req, "%d %s '%s'", EINVAL, name, gname);
@@ -551,11 +549,9 @@
struct g_provider *pp;
const char *pname;
- pname = gctl_get_asciiparam(req, name);
+ pname = gctl_get_providername(req, name);
if (pname == NULL)
return (ENOATTR);
- if (strncmp(pname, _PATH_DEV, sizeof(_PATH_DEV) - 1) == 0)
- pname += sizeof(_PATH_DEV) - 1;
pp = g_provider_by_name(pname);
if (pp == NULL) {
gctl_error(req, "%d %s '%s'", EINVAL, name, pname);
Index: sys/geom/raid/g_raid.c
===================================================================
--- sys/geom/raid/g_raid.c
+++ sys/geom/raid/g_raid.c
@@ -775,8 +775,6 @@
g_topology_assert();
- if (strncmp(name, _PATH_DEV, 5) == 0)
- name += 5;
pp = g_provider_by_name(name);
if (pp == NULL)
return (NULL);
Index: sys/geom/raid/md_ddf.c
===================================================================
--- sys/geom/raid/md_ddf.c
+++ sys/geom/raid/md_ddf.c
@@ -2308,9 +2308,8 @@
bzero(offs, sizeof(offs));
for (i = 0; i < numdisks; i++) {
snprintf(arg, sizeof(arg), "arg%d", i + 3);
- diskname = gctl_get_asciiparam(req, arg);
+ diskname = gctl_get_providername(req, arg);
if (diskname == NULL) {
- gctl_error(req, "No disk name (%s).", arg);
error = -6;
break;
}
@@ -2612,14 +2611,11 @@
}
for (i = 1; i < *nargs; i++) {
snprintf(arg, sizeof(arg), "arg%d", i);
- diskname = gctl_get_asciiparam(req, arg);
+ diskname = gctl_get_providername(req, arg);
if (diskname == NULL) {
- gctl_error(req, "No disk name (%s).", arg);
error = -2;
break;
}
- if (strncmp(diskname, _PATH_DEV, 5) == 0)
- diskname += 5;
TAILQ_FOREACH(disk, &sc->sc_disks, d_next) {
if (disk->d_consumer != NULL &&
@@ -2664,9 +2660,8 @@
for (i = 1; i < *nargs; i++) {
/* Get disk name. */
snprintf(arg, sizeof(arg), "arg%d", i);
- diskname = gctl_get_asciiparam(req, arg);
+ diskname = gctl_get_providername(req, arg);
if (diskname == NULL) {
- gctl_error(req, "No disk name (%s).", arg);
error = -3;
break;
}
Index: sys/geom/raid/md_intel.c
===================================================================
--- sys/geom/raid/md_intel.c
+++ sys/geom/raid/md_intel.c
@@ -1747,9 +1747,8 @@
sectorsize = 0;
for (i = 0; i < numdisks; i++) {
snprintf(arg, sizeof(arg), "arg%d", i + 3);
- diskname = gctl_get_asciiparam(req, arg);
+ diskname = gctl_get_providername(req, arg);
if (diskname == NULL) {
- gctl_error(req, "No disk name (%s).", arg);
error = -6;
break;
}
@@ -2199,14 +2198,11 @@
}
for (i = 1; i < *nargs; i++) {
snprintf(arg, sizeof(arg), "arg%d", i);
- diskname = gctl_get_asciiparam(req, arg);
+ diskname = gctl_get_providername(req, arg);
if (diskname == NULL) {
- gctl_error(req, "No disk name (%s).", arg);
error = -2;
break;
}
- if (strncmp(diskname, _PATH_DEV, 5) == 0)
- diskname += 5;
TAILQ_FOREACH(disk, &sc->sc_disks, d_next) {
if (disk->d_consumer != NULL &&
@@ -2270,9 +2266,8 @@
for (i = 1; i < *nargs; i++) {
/* Get disk name. */
snprintf(arg, sizeof(arg), "arg%d", i);
- diskname = gctl_get_asciiparam(req, arg);
+ diskname = gctl_get_providername(req, arg);
if (diskname == NULL) {
- gctl_error(req, "No disk name (%s).", arg);
error = -3;
break;
}
Index: sys/geom/raid/md_jmicron.c
===================================================================
--- sys/geom/raid/md_jmicron.c
+++ sys/geom/raid/md_jmicron.c
@@ -1079,9 +1079,8 @@
sectorsize = 0;
for (i = 0; i < numdisks; i++) {
snprintf(arg, sizeof(arg), "arg%d", i + 3);
- diskname = gctl_get_asciiparam(req, arg);
+ diskname = gctl_get_providername(req, arg);
if (diskname == NULL) {
- gctl_error(req, "No disk name (%s).", arg);
error = -6;
break;
}
@@ -1260,14 +1259,11 @@
}
for (i = 1; i < *nargs; i++) {
snprintf(arg, sizeof(arg), "arg%d", i);
- diskname = gctl_get_asciiparam(req, arg);
+ diskname = gctl_get_providername(req, arg);
if (diskname == NULL) {
- gctl_error(req, "No disk name (%s).", arg);
error = -2;
break;
}
- if (strncmp(diskname, _PATH_DEV, 5) == 0)
- diskname += 5;
TAILQ_FOREACH(disk, &sc->sc_disks, d_next) {
if (disk->d_consumer != NULL &&
@@ -1331,9 +1327,8 @@
for (i = 1; i < *nargs; i++) {
/* Get disk name. */
snprintf(arg, sizeof(arg), "arg%d", i);
- diskname = gctl_get_asciiparam(req, arg);
+ diskname = gctl_get_providername(req, arg);
if (diskname == NULL) {
- gctl_error(req, "No disk name (%s).", arg);
error = -3;
break;
}
Index: sys/geom/raid/md_nvidia.c
===================================================================
--- sys/geom/raid/md_nvidia.c
+++ sys/geom/raid/md_nvidia.c
@@ -1083,9 +1083,8 @@
sectorsize = 0;
for (i = 0; i < numdisks; i++) {
snprintf(arg, sizeof(arg), "arg%d", i + 3);
- diskname = gctl_get_asciiparam(req, arg);
+ diskname = gctl_get_providername(req, arg);
if (diskname == NULL) {
- gctl_error(req, "No disk name (%s).", arg);
error = -6;
break;
}
@@ -1265,14 +1264,11 @@
}
for (i = 1; i < *nargs; i++) {
snprintf(arg, sizeof(arg), "arg%d", i);
- diskname = gctl_get_asciiparam(req, arg);
+ diskname = gctl_get_providername(req, arg);
if (diskname == NULL) {
- gctl_error(req, "No disk name (%s).", arg);
error = -2;
break;
}
- if (strncmp(diskname, _PATH_DEV, 5) == 0)
- diskname += 5;
TAILQ_FOREACH(disk, &sc->sc_disks, d_next) {
if (disk->d_consumer != NULL &&
@@ -1336,9 +1332,8 @@
for (i = 1; i < *nargs; i++) {
/* Get disk name. */
snprintf(arg, sizeof(arg), "arg%d", i);
- diskname = gctl_get_asciiparam(req, arg);
+ diskname = gctl_get_providername(req, arg);
if (diskname == NULL) {
- gctl_error(req, "No disk name (%s).", arg);
error = -3;
break;
}
Index: sys/geom/raid/md_promise.c
===================================================================
--- sys/geom/raid/md_promise.c
+++ sys/geom/raid/md_promise.c
@@ -1319,9 +1319,8 @@
bzero(offs, sizeof(offs));
for (i = 0; i < numdisks; i++) {
snprintf(arg, sizeof(arg), "arg%d", i + 3);
- diskname = gctl_get_asciiparam(req, arg);
+ diskname = gctl_get_providername(req, arg);
if (diskname == NULL) {
- gctl_error(req, "No disk name (%s).", arg);
error = -6;
break;
}
@@ -1601,14 +1600,11 @@
}
for (i = 1; i < *nargs; i++) {
snprintf(arg, sizeof(arg), "arg%d", i);
- diskname = gctl_get_asciiparam(req, arg);
+ diskname = gctl_get_providername(req, arg);
if (diskname == NULL) {
- gctl_error(req, "No disk name (%s).", arg);
error = -2;
break;
}
- if (strncmp(diskname, _PATH_DEV, 5) == 0)
- diskname += 5;
TAILQ_FOREACH(disk, &sc->sc_disks, d_next) {
if (disk->d_consumer != NULL &&
@@ -1653,9 +1649,8 @@
for (i = 1; i < *nargs; i++) {
/* Get disk name. */
snprintf(arg, sizeof(arg), "arg%d", i);
- diskname = gctl_get_asciiparam(req, arg);
+ diskname = gctl_get_providername(req, arg);
if (diskname == NULL) {
- gctl_error(req, "No disk name (%s).", arg);
error = -3;
break;
}
Index: sys/geom/raid/md_sii.c
===================================================================
--- sys/geom/raid/md_sii.c
+++ sys/geom/raid/md_sii.c
@@ -1167,9 +1167,8 @@
sectorsize = 0;
for (i = 0; i < numdisks; i++) {
snprintf(arg, sizeof(arg), "arg%d", i + 3);
- diskname = gctl_get_asciiparam(req, arg);
+ diskname = gctl_get_providername(req, arg);
if (diskname == NULL) {
- gctl_error(req, "No disk name (%s).", arg);
error = -6;
break;
}
@@ -1347,14 +1346,11 @@
}
for (i = 1; i < *nargs; i++) {
snprintf(arg, sizeof(arg), "arg%d", i);
- diskname = gctl_get_asciiparam(req, arg);
+ diskname = gctl_get_providername(req, arg);
if (diskname == NULL) {
- gctl_error(req, "No disk name (%s).", arg);
error = -2;
break;
}
- if (strncmp(diskname, _PATH_DEV, 5) == 0)
- diskname += 5;
TAILQ_FOREACH(disk, &sc->sc_disks, d_next) {
if (disk->d_consumer != NULL &&
@@ -1418,9 +1414,8 @@
for (i = 1; i < *nargs; i++) {
/* Get disk name. */
snprintf(arg, sizeof(arg), "arg%d", i);
- diskname = gctl_get_asciiparam(req, arg);
+ diskname = gctl_get_providername(req, arg);
if (diskname == NULL) {
- gctl_error(req, "No disk name (%s).", arg);
error = -3;
break;
}
Index: sys/geom/raid3/g_raid3_ctl.c
===================================================================
--- sys/geom/raid3/g_raid3_ctl.c
+++ sys/geom/raid3/g_raid3_ctl.c
@@ -77,8 +77,6 @@
u_int n;
sx_assert(&sc->sc_lock, SX_XLOCKED);
- if (strncmp(name, _PATH_DEV, 5) == 0)
- name += 5;
for (n = 0; n < sc->sc_ndisks; n++) {
disk = &sc->sc_disks[n];
if (disk->d_state == G_RAID3_DISK_STATE_NODISK)
@@ -181,11 +179,9 @@
gctl_error(req, "Nothing has changed.");
return;
}
- name = gctl_get_asciiparam(req, "arg0");
- if (name == NULL) {
- gctl_error(req, "No 'arg%u' argument.", 0);
+ name = gctl_get_providername(req, "arg0");
+ if (name == NULL)
return;
- }
sc = g_raid3_find_device(mp, name);
if (sc == NULL) {
gctl_error(req, "No such device: %s.", name);
@@ -278,19 +274,16 @@
gctl_error(req, "Invalid number of arguments.");
return;
}
- name = gctl_get_asciiparam(req, "arg0");
- if (name == NULL) {
- gctl_error(req, "No 'arg%u' argument.", 0);
+ name = gctl_get_providername(req, "arg0");
+ if (name == NULL)
return;
- }
sc = g_raid3_find_device(mp, name);
if (sc == NULL) {
gctl_error(req, "No such device: %s.", name);
return;
}
- name = gctl_get_asciiparam(req, "arg1");
+ name = gctl_get_providername(req, "arg1");
if (name == NULL) {
- gctl_error(req, "No 'arg%u' argument.", 1);
sx_xunlock(&sc->sc_lock);
return;
}
@@ -362,11 +355,9 @@
for (i = 0; i < (u_int)*nargs; i++) {
snprintf(param, sizeof(param), "arg%u", i);
- name = gctl_get_asciiparam(req, param);
- if (name == NULL) {
- gctl_error(req, "No 'arg%u' argument.", i);
+ name = gctl_get_providername(req, param);
+ if (name == NULL)
return;
- }
sc = g_raid3_find_device(mp, name);
if (sc == NULL) {
gctl_error(req, "No such device: %s.", name);
@@ -444,11 +435,9 @@
goto end;
}
g_topology_unlock();
- name = gctl_get_asciiparam(req, "arg0");
- if (name == NULL) {
- gctl_error(req, "No 'arg%u' argument.", 0);
+ name = gctl_get_providername(req, "arg0");
+ if (name == NULL)
goto end;
- }
sc = g_raid3_find_device(mp, name);
if (sc == NULL) {
gctl_error(req, "No such device: %s.", name);
@@ -548,11 +537,9 @@
gctl_error(req, "No '%s' argument.", "no");
return;
}
- name = gctl_get_asciiparam(req, "arg0");
- if (name == NULL) {
- gctl_error(req, "No 'arg%u' argument.", 0);
+ name = gctl_get_providername(req, "arg0");
+ if (name == NULL)
return;
- }
sc = g_raid3_find_device(mp, name);
if (sc == NULL) {
gctl_error(req, "No such device: %s.", name);
Index: sys/geom/shsec/g_shsec.c
===================================================================
--- sys/geom/shsec/g_shsec.c
+++ sys/geom/shsec/g_shsec.c
@@ -768,11 +768,9 @@
for (i = 0; i < (u_int)*nargs; i++) {
snprintf(param, sizeof(param), "arg%u", i);
- name = gctl_get_asciiparam(req, param);
- if (name == NULL) {
- gctl_error(req, "No 'arg%u' argument.", i);
+ name = gctl_get_providername(req, param);
+ if (name == NULL)
return;
- }
sc = g_shsec_find_device(mp, name);
if (sc == NULL) {
gctl_error(req, "No such device: %s.", name);
Index: sys/geom/stripe/g_stripe.c
===================================================================
--- sys/geom/stripe/g_stripe.c
+++ sys/geom/stripe/g_stripe.c
@@ -1063,11 +1063,9 @@
strlcpy(md.md_magic, G_STRIPE_MAGIC, sizeof(md.md_magic));
md.md_version = G_STRIPE_VERSION;
- name = gctl_get_asciiparam(req, "arg0");
- if (name == NULL) {
- gctl_error(req, "No 'arg%u' argument.", 0);
+ name = gctl_get_providername(req, "arg0");
+ if (name == NULL)
return;
- }
strlcpy(md.md_name, name, sizeof(md.md_name));
md.md_id = arc4random();
md.md_no = 0;
@@ -1103,7 +1101,7 @@
snprintf(param, sizeof(param), "arg%u", no);
pp = gctl_get_provider(req, param);
if (pp == NULL) {
- name = gctl_get_asciiparam(req, param);
+ name = gctl_get_providername(req, param);
MPASS(name != NULL);
sbuf_printf(sb, " %s", name);
continue;
@@ -1168,11 +1166,9 @@
for (i = 0; i < (u_int)*nargs; i++) {
snprintf(param, sizeof(param), "arg%u", i);
- name = gctl_get_asciiparam(req, param);
- if (name == NULL) {
- gctl_error(req, "No 'arg%u' argument.", i);
+ name = gctl_get_providername(req, param);
+ if (name == NULL)
return;
- }
sc = g_stripe_find_device(mp, name);
if (sc == NULL) {
gctl_error(req, "No such device: %s.", name);
Index: sys/geom/union/g_union.c
===================================================================
--- sys/geom/union/g_union.c
+++ sys/geom/union/g_union.c
@@ -170,7 +170,10 @@
offset = g_union_fetcharg(req, "offset");
size = g_union_fetcharg(req, "size");
secsize = g_union_fetcharg(req, "secsize");
- gunionname = gctl_get_asciiparam(req, "gunionname");
+ gunionname = gctl_get_providername(req, "gunionname");
+ if (gunionname == NULL)
+ /* error message provided by gctl_get_providername() */
+ return;
upperpp = gctl_get_provider(req, "arg0");
lowerpp = gctl_get_provider(req, "arg1");
@@ -423,13 +426,9 @@
for (i = 0; i < *nargs; i++) {
snprintf(param, sizeof(param), "arg%d", i);
- name = gctl_get_asciiparam(req, param);
- if (name == NULL) {
- gctl_msg(req, "No '%s' argument.", param);
+ name = gctl_get_providername(req, param);
+ if (name == NULL)
continue;
- }
- if (strncmp(name, _PATH_DEV, strlen(_PATH_DEV)) == 0)
- name += strlen(_PATH_DEV);
gp = g_union_find_geom(mp, name);
if (gp == NULL) {
gctl_msg(req, "Device %s is invalid.", name);
Index: sys/geom/vinum/geom_vinum_share.c
===================================================================
--- sys/geom/vinum/geom_vinum_share.c
+++ sys/geom/vinum/geom_vinum_share.c
@@ -50,7 +50,6 @@
#include <sys/malloc.h>
#include <sys/systm.h>
-#include <geom/geom.h>
#define iswhite(c) (((c) == ' ') || ((c) == '\t'))
#else
#include <ctype.h>
@@ -62,6 +61,8 @@
#define g_free free
#endif /* _KERNEL */
+#include <geom/geom.h>
+
#include <sys/mutex.h>
#include <sys/queue.h>
@@ -440,7 +441,7 @@
{
struct gv_drive *d;
int j, errors;
- char *ptr;
+ const char *ptr;
if (token[1] == NULL || *token[1] == '\0')
return (NULL);
@@ -462,10 +463,8 @@
errors++;
break;
}
- ptr = token[j];
+ ptr = g_provider_name(token[j]);
- if (strncmp(ptr, _PATH_DEV, 5) == 0)
- ptr += 5;
strlcpy(d->device, ptr, sizeof(d->device));
} else {
/* We assume this is the drive name. */
Index: sys/geom/virstor/g_virstor.c
===================================================================
--- sys/geom/virstor/g_virstor.c
+++ sys/geom/virstor/g_virstor.c
@@ -228,9 +228,8 @@
int error;
snprintf(param, sizeof(param), "arg%d", i);
- name = gctl_get_asciiparam(req, param);
+ name = gctl_get_providername(req, param);
if (name == NULL) {
- gctl_error(req, "No 'arg%d' argument", i);
g_topology_unlock();
return;
}
@@ -289,11 +288,9 @@
}
/* Find "our" geom */
- geom_name = gctl_get_asciiparam(req, "arg0");
- if (geom_name == NULL) {
- gctl_error(req, "Error fetching argument '%s'", "geom_name (arg0)");
+ geom_name = gctl_get_providername(req, "arg0");
+ if (geom_name == NULL)
return;
- }
sc = virstor_find_geom(cp, geom_name);
if (sc == NULL) {
gctl_error(req, "Don't know anything about '%s'", geom_name);
@@ -538,12 +535,9 @@
return;
}
/* Find "our" geom */
- geom_name = gctl_get_asciiparam(req, "arg0");
- if (geom_name == NULL) {
- gctl_error(req, "Error fetching argument '%s'",
- "geom_name (arg0)");
+ geom_name = gctl_get_providername(req, "arg0");
+ if (geom_name == NULL)
return;
- }
sc = virstor_find_geom(cp, geom_name);
if (sc == NULL) {
gctl_error(req, "Don't know anything about '%s'", geom_name);
@@ -565,13 +559,9 @@
struct g_virstor_component *newcomp, *compbak;
snprintf(param, sizeof(param), "arg%d", i);
- prov_name = gctl_get_asciiparam(req, param);
- if (prov_name == NULL) {
- gctl_error(req, "Error fetching argument '%s'", param);
+ prov_name = gctl_get_providername(req, param);
+ if (prov_name == NULL)
return;
- }
- if (strncmp(prov_name, _PATH_DEV, sizeof(_PATH_DEV) - 1) == 0)
- prov_name += sizeof(_PATH_DEV) - 1;
found = -1;
for (j = 0; j < sc->n_components; j++) {
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Tue, Mar 31, 2:23 AM (5 h, 33 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
28233032
Default Alt Text
D34940.1774923783.diff (41 KB)
Attached To
Mode
D34940: geom: consistently strip /dev/ prefix at input
Attached
Detach File
Event Timeline
Log In to Comment