goto abort_free;
}
- if (rdev->sb->level != -4) {
+ if (rdev->sb->level != LEVEL_MULTIPATH) {
rdev->old_dev = mk_kdev(rdev->sb->this_disk.major,
rdev->sb->this_disk.minor);
rdev->desc_nr = rdev->sb->this_disk.number;
* Fix up changed device names ... but only if this disk has a
* recent update time. Use faulty checksum ones too.
*/
- if (mddev->sb->level != -4)
+ if (mddev->sb->level != LEVEL_MULTIPATH)
ITERATE_RDEV(mddev,rdev,tmp) {
__u64 ev1, ev2, ev3;
if (rdev->faulty || rdev->alias_device) {
* care if it was previously marked as faulty, it's up now
* so enable it.
*/
- if (disk_faulty(desc) && mddev->sb->level != -4) {
+ if (disk_faulty(desc) && mddev->sb->level != LEVEL_MULTIPATH) {
found = 0;
ITERATE_RDEV(mddev,rdev,tmp) {
if (rdev->desc_nr != desc->number)
* we cannot check rdev->number.
* We can check the device though.
*/
- if ((sb->level == -4) &&
+ if ((sb->level == LEVEL_MULTIPATH) &&
kdev_same(rdev->dev,
mk_kdev(desc->major,desc->minor))) {
found = 1;
* disk is which, only the position of the device
* in the superblock:
*/
- if (mddev->sb->level == -4) {
+ if (mddev->sb->level == LEVEL_MULTIPATH) {
if ((rdev->desc_nr != -1) && (rdev->desc_nr != i)) {
MD_BUG();
goto abort;
/*
* Do a final reality check.
*/
- if (mddev->sb->level != -4) {
+ if (mddev->sb->level != LEVEL_MULTIPATH) {
ITERATE_RDEV(mddev,rdev,tmp) {
if (rdev->desc_nr == -1) {
MD_BUG();
}
switch (sb->level) {
- case -4:
+ case LEVEL_MULTIPATH:
data_disks = 1;
break;
case -3:
case -2:
data_disks = 1;
break;
- case -1:
+ case LEVEL_LINEAR:
zoned_raid_size(mddev);
data_disks = 1;
break;
*/
static int __init md_setup(char *str)
{
- int minor, level, factor, fault;
+ int minor, level, factor, fault, pers;
char *pername = "";
char *str1 = str;
}
switch (get_option(&str, &level)) { /* RAID Personality */
case 2: /* could be 0 or -1.. */
- if (!level || level == -1) {
+ if (level == 0 || level == LEVEL_LINEAR) {
if (get_option(&str, &factor) != 2 || /* Chunk Size */
get_option(&str, &fault) != 2) {
printk(KERN_WARNING "md: Too few arguments supplied to md=.\n");
md_setup_args.pers[minor] = level;
md_setup_args.chunk[minor] = 1 << (factor+12);
switch(level) {
- case -1:
- level = LINEAR;
+ case LEVEL_LINEAR:
+ pers = LINEAR;
pername = "linear";
break;
case 0:
- level = RAID0;
+ pers = RAID0;
pername = "raid0";
break;
default:
level);
return 0;
}
- md_setup_args.pers[minor] = level;
+ md_setup_args.pers[minor] = pers;
break;
}
/* FALL THROUGH */
#define MULTIPATH 7UL
#define MAX_PERSONALITY 8UL
+#define LEVEL_MULTIPATH (-4)
+#define LEVEL_LINEAR (-1)
+
static inline int pers_to_level (int pers)
{
switch (pers) {
- case MULTIPATH: return -4;
+ case MULTIPATH: return LEVEL_MULTIPATH;
case HSM: return -3;
case TRANSLUCENT: return -2;
- case LINEAR: return -1;
+ case LINEAR: return LEVEL_LINEAR;
case RAID0: return 0;
case RAID1: return 1;
case RAID5: return 5;
static inline int level_to_pers (int level)
{
switch (level) {
- case -4: return MULTIPATH;
+ case LEVEL_MULTIPATH: return MULTIPATH;
case -3: return HSM;
case -2: return TRANSLUCENT;
- case -1: return LINEAR;
+ case LEVEL_LINEAR: return LINEAR;
case 0: return RAID0;
case 1: return RAID1;
case 4: