aboutsummaryrefslogtreecommitdiff
path: root/sys/geom/raid
diff options
context:
space:
mode:
authorAlexander Motin <mav@FreeBSD.org>2013-08-13 06:21:36 +0000
committerAlexander Motin <mav@FreeBSD.org>2013-08-13 06:21:36 +0000
commite70b565ba4c273a4444628b6e31c61e2c07a50da (patch)
tree416c0b6110d073b570ef3a86dd2d868d69047649 /sys/geom/raid
parent8776669b53777489f705930295036a5eb0c5a37e (diff)
Notes
Diffstat (limited to 'sys/geom/raid')
-rw-r--r--sys/geom/raid/tr_raid5.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/sys/geom/raid/tr_raid5.c b/sys/geom/raid/tr_raid5.c
index 1931ff70ea747..ea65803f9bdc2 100644
--- a/sys/geom/raid/tr_raid5.c
+++ b/sys/geom/raid/tr_raid5.c
@@ -106,7 +106,8 @@ g_raid_tr_taste_raid5(struct g_raid_tr_object *tr, struct g_raid_volume *vol)
trs = (struct g_raid_tr_raid5_object *)tr;
qual = tr->tro_volume->v_raid_level_qualifier;
if (tr->tro_volume->v_raid_level == G_RAID_VOLUME_RL_RAID4 &&
- qual >= 0 && qual <= 1) {
+ (qual == G_RAID_VOLUME_RLQ_R4P0 ||
+ qual == G_RAID_VOLUME_RLQ_R4P0)) {
/* RAID4 */
} else if ((tr->tro_volume->v_raid_level == G_RAID_VOLUME_RL_RAID5 ||
tr->tro_volume->v_raid_level == G_RAID_VOLUME_RL_RAID5E ||
@@ -114,7 +115,10 @@ g_raid_tr_taste_raid5(struct g_raid_tr_object *tr, struct g_raid_volume *vol)
tr->tro_volume->v_raid_level == G_RAID_VOLUME_RL_RAID5R ||
tr->tro_volume->v_raid_level == G_RAID_VOLUME_RL_RAID6 ||
tr->tro_volume->v_raid_level == G_RAID_VOLUME_RL_RAIDMDF) &&
- qual >= 0 && qual <= 3) {
+ (qual == G_RAID_VOLUME_RLQ_R5RA ||
+ qual == G_RAID_VOLUME_RLQ_R5RS ||
+ qual == G_RAID_VOLUME_RLQ_R5LA ||
+ qual == G_RAID_VOLUME_RLQ_R5LS)) {
/* RAID5/5E/5EE/5R/6/MDF */
} else
return (G_RAID_TR_TASTE_FAIL);