aboutsummaryrefslogtreecommitdiff
path: root/sys/geom/raid/g_raid.c
diff options
context:
space:
mode:
authorAlexander Motin <mav@FreeBSD.org>2012-04-19 12:30:12 +0000
committerAlexander Motin <mav@FreeBSD.org>2012-04-19 12:30:12 +0000
commitfc1de96060db910b8aa5224d4d10b37baefeca1e (patch)
treec52f9a1d2117f93577e84485d022a8663b182fd4 /sys/geom/raid/g_raid.c
parenta47f39da1f6511f550283e1e940b47941b87fdd2 (diff)
Notes
Diffstat (limited to 'sys/geom/raid/g_raid.c')
-rw-r--r--sys/geom/raid/g_raid.c23
1 files changed, 21 insertions, 2 deletions
diff --git a/sys/geom/raid/g_raid.c b/sys/geom/raid/g_raid.c
index 3c4a3f8257c67..4a509e8e7b9c2 100644
--- a/sys/geom/raid/g_raid.c
+++ b/sys/geom/raid/g_raid.c
@@ -281,6 +281,14 @@ g_raid_volume_level2str(int level, int qual)
case G_RAID_VOLUME_RL_RAID4:
return ("RAID4");
case G_RAID_VOLUME_RL_RAID5:
+ if (qual == G_RAID_VOLUME_RLQ_R5RA)
+ return ("RAID5RA");
+ if (qual == G_RAID_VOLUME_RLQ_R5RS)
+ return ("RAID5RS");
+ if (qual == G_RAID_VOLUME_RLQ_R5LA)
+ return ("RAID5LA");
+ if (qual == G_RAID_VOLUME_RLQ_R5LS)
+ return ("RAID5LS");
return ("RAID5");
case G_RAID_VOLUME_RL_RAID6:
return ("RAID6");
@@ -313,9 +321,20 @@ g_raid_volume_str2level(const char *str, int *level, int *qual)
*level = G_RAID_VOLUME_RL_RAID3;
else if (strcasecmp(str, "RAID4") == 0)
*level = G_RAID_VOLUME_RL_RAID4;
- else if (strcasecmp(str, "RAID5") == 0)
+ else if (strcasecmp(str, "RAID5RA") == 0) {
*level = G_RAID_VOLUME_RL_RAID5;
- else if (strcasecmp(str, "RAID6") == 0)
+ *qual = G_RAID_VOLUME_RLQ_R5RA;
+ } else if (strcasecmp(str, "RAID5RS") == 0) {
+ *level = G_RAID_VOLUME_RL_RAID5;
+ *qual = G_RAID_VOLUME_RLQ_R5RS;
+ } else if (strcasecmp(str, "RAID5") == 0 ||
+ strcasecmp(str, "RAID5LA") == 0) {
+ *level = G_RAID_VOLUME_RL_RAID5;
+ *qual = G_RAID_VOLUME_RLQ_R5LA;
+ } else if (strcasecmp(str, "RAID5LS") == 0) {
+ *level = G_RAID_VOLUME_RL_RAID5;
+ *qual = G_RAID_VOLUME_RLQ_R5LS;
+ } else if (strcasecmp(str, "RAID6") == 0)
*level = G_RAID_VOLUME_RL_RAID6;
else if (strcasecmp(str, "RAID10") == 0 ||
strcasecmp(str, "RAID1E") == 0)