diff options
| author | Ulf Lilleengen <lulf@FreeBSD.org> | 2008-09-07 13:54:57 +0000 |
|---|---|---|
| committer | Ulf Lilleengen <lulf@FreeBSD.org> | 2008-09-07 13:54:57 +0000 |
| commit | f805f204b63aaab5b49c7371deb8c2fd015bd894 (patch) | |
| tree | 16f2ffcdc41f0c11cebb1b3f34481ddf1a5d05cc /sys/geom/geom_dev.c | |
| parent | 6f4745d5757e385b06448930a2570371eb2f9a1e (diff) | |
Notes
Diffstat (limited to 'sys/geom/geom_dev.c')
| -rw-r--r-- | sys/geom/geom_dev.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/sys/geom/geom_dev.c b/sys/geom/geom_dev.c index 4abbfc076904..eeb3b0932a48 100644 --- a/sys/geom/geom_dev.c +++ b/sys/geom/geom_dev.c @@ -244,6 +244,7 @@ g_dev_ioctl(struct cdev *dev, u_long cmd, caddr_t data, int fflag, struct thread { struct g_geom *gp; struct g_consumer *cp; + struct g_provider *pp; struct g_kerneldump kd; off_t offset, length, chunk; int i, error; @@ -251,6 +252,7 @@ g_dev_ioctl(struct cdev *dev, u_long cmd, caddr_t data, int fflag, struct thread gp = dev->si_drv1; cp = dev->si_drv2; + pp = cp->provider; error = 0; KASSERT(cp->acr || cp->acw, @@ -329,6 +331,11 @@ g_dev_ioctl(struct cdev *dev, u_long cmd, caddr_t data, int fflag, struct thread case DIOCGIDENT: error = g_io_getattr("GEOM::ident", cp, &i, data); break; + case DIOCGPROVIDERNAME: + if (pp == NULL) + return (ENOENT); + strlcpy(data, pp->name, i); + break; default: if (cp->provider->geom->ioctl != NULL) { |
