From 386cb628538e17a0fd12e69e75078bb50cc21924 Mon Sep 17 00:00:00 2001 From: trociny Date: Sun, 9 Sep 2012 08:30:22 +0000 Subject: [PATCH] MFC r239987 (pjd): Allow to pass providers with /dev/ prefix to g_provider_by_name(). git-svn-id: svn://svn.freebsd.org/base/stable/8@240268 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f --- sys/geom/geom_subr.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/sys/geom/geom_subr.c b/sys/geom/geom_subr.c index fec6277a9..0b829d354 100644 --- a/sys/geom/geom_subr.c +++ b/sys/geom/geom_subr.c @@ -599,6 +599,10 @@ g_error_provider(struct g_provider *pp, int error) pp->error = error; } +#ifndef _PATH_DEV +#define _PATH_DEV "/dev/" +#endif + struct g_provider * g_provider_by_name(char const *arg) { @@ -606,6 +610,9 @@ g_provider_by_name(char const *arg) struct g_geom *gp; struct g_provider *pp; + if (strncmp(arg, _PATH_DEV, sizeof(_PATH_DEV) - 1) == 0) + arg += sizeof(_PATH_DEV) - 1; + LIST_FOREACH(cp, &g_classes, class) { LIST_FOREACH(gp, &cp->geom, geom) { LIST_FOREACH(pp, &gp->provider, provider) { @@ -614,6 +621,7 @@ g_provider_by_name(char const *arg) } } } + return (NULL); } -- 2.45.0