summaryrefslogtreecommitdiffstats
path: root/sys/geom/vinum/geom_vinum_init.c
diff options
context:
space:
mode:
authorle <le@FreeBSD.org>2005-04-28 13:09:00 +0000
committerle <le@FreeBSD.org>2005-04-28 13:09:00 +0000
commit3998514c39838c17e7575278b488959fad10a612 (patch)
treed7b4853713b8ffdb3c333178eb8034bf72e9c800 /sys/geom/vinum/geom_vinum_init.c
parentee916bda34797f3641cf54da629cbd82811229f9 (diff)
downloadFreeBSD-src-3998514c39838c17e7575278b488959fad10a612.zip
FreeBSD-src-3998514c39838c17e7575278b488959fad10a612.tar.gz
Only allow RAID5 plexes to be parity checked.
PR: kern/80427 Submitty by: Stijn Hoop <stijn@win.tue.nl>
Diffstat (limited to 'sys/geom/vinum/geom_vinum_init.c')
-rw-r--r--sys/geom/vinum/geom_vinum_init.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/sys/geom/vinum/geom_vinum_init.c b/sys/geom/vinum/geom_vinum_init.c
index b60a743..e35fbce 100644
--- a/sys/geom/vinum/geom_vinum_init.c
+++ b/sys/geom/vinum/geom_vinum_init.c
@@ -106,6 +106,10 @@ gv_parityop(struct g_geom *gp, struct gctl_req *req)
p->name);
goto out;
}
+ if (p->org != GV_PLEX_RAID5) {
+ gctl_error(req, "plex %s is not a RAID5 plex", p->name);
+ goto out;
+ }
cp = p->consumer;
error = g_access(cp, 1, 1, 0);
OpenPOWER on IntegriCloud