cciss: fix some magic numbers in the raid-level decoding
cciss: fix some magic numbers in the raid-level decoding
Signed-off-by: Stephen M. Cameron <scameron@beardog.cce.hp.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
diff --git a/drivers/block/cciss.c b/drivers/block/cciss.c
index ae0cb13..b674f93 100644
--- a/drivers/block/cciss.c
+++ b/drivers/block/cciss.c
@@ -255,8 +255,6 @@
#include "cciss_scsi.c" /* For SCSI tape support */
-#define RAID_UNKNOWN 6
-
#ifdef CONFIG_PROC_FS
/*
@@ -268,6 +266,7 @@
static const char *raid_label[] = { "0", "4", "1(1+0)", "5", "5+1", "ADG",
"UNKNOWN"
};
+#define RAID_UNKNOWN (sizeof(raid_label) / sizeof(raid_label[0])-1)
static struct proc_dir_entry *proc_cciss;
@@ -341,7 +340,7 @@
vol_sz_frac *= 100;
sector_div(vol_sz_frac, ENG_GIG_FACTOR);
- if (drv->raid_level > 5)
+ if (drv->raid_level < 0 || drv->raid_level > RAID_UNKNOWN)
drv->raid_level = RAID_UNKNOWN;
seq_printf(seq, "cciss/c%dd%d:"
"\t%4u.%02uGB\tRAID %s\n",