Changeset View
Changeset View
Standalone View
Standalone View
sys/geom/part/g_part.c
Show First 20 Lines • Show All 524 Lines • ▼ Show 20 Lines | |||||
} | } | ||||
static int | static int | ||||
g_part_parm_geom(struct gctl_req *req, const char *name, struct g_geom **v) | g_part_parm_geom(struct gctl_req *req, const char *name, struct g_geom **v) | ||||
{ | { | ||||
struct g_geom *gp; | struct g_geom *gp; | ||||
const char *gname; | const char *gname; | ||||
gname = gctl_get_asciiparam(req, name); | gname = gctl_get_devname(req, name); | ||||
if (gname == NULL) | if (gname == NULL) | ||||
return (ENOATTR); | return (ENOATTR); | ||||
if (strncmp(gname, _PATH_DEV, sizeof(_PATH_DEV) - 1) == 0) | |||||
gname += sizeof(_PATH_DEV) - 1; | |||||
gp = g_part_find_geom(gname); | gp = g_part_find_geom(gname); | ||||
if (gp == NULL) { | if (gp == NULL) { | ||||
gctl_error(req, "%d %s '%s'", EINVAL, name, gname); | gctl_error(req, "%d %s '%s'", EINVAL, name, gname); | ||||
return (EINVAL); | return (EINVAL); | ||||
} | } | ||||
*v = gp; | *v = gp; | ||||
return (0); | return (0); | ||||
} | } | ||||
static int | static int | ||||
g_part_parm_provider(struct gctl_req *req, const char *name, | g_part_parm_provider(struct gctl_req *req, const char *name, | ||||
struct g_provider **v) | struct g_provider **v) | ||||
{ | { | ||||
struct g_provider *pp; | struct g_provider *pp; | ||||
const char *pname; | const char *pname; | ||||
pname = gctl_get_asciiparam(req, name); | pname = gctl_get_devname(req, name); | ||||
if (pname == NULL) | if (pname == NULL) | ||||
return (ENOATTR); | return (ENOATTR); | ||||
if (strncmp(pname, _PATH_DEV, sizeof(_PATH_DEV) - 1) == 0) | |||||
pname += sizeof(_PATH_DEV) - 1; | |||||
pp = g_provider_by_name(pname); | pp = g_provider_by_name(pname); | ||||
if (pp == NULL) { | if (pp == NULL) { | ||||
gctl_error(req, "%d %s '%s'", EINVAL, name, pname); | gctl_error(req, "%d %s '%s'", EINVAL, name, pname); | ||||
return (EINVAL); | return (EINVAL); | ||||
} | } | ||||
*v = pp; | *v = pp; | ||||
return (0); | return (0); | ||||
} | } | ||||
▲ Show 20 Lines • Show All 1,865 Lines • Show Last 20 Lines |