|
@@ -1567,8 +1567,8 @@ static int super_1_load(struct md_rdev *rdev, struct md_rdev *refdev, int minor_
|
|
|
sector, count, 1) == 0)
|
|
|
return -EINVAL;
|
|
|
}
|
|
|
- } else if (sb->bblog_offset == 0)
|
|
|
- rdev->badblocks.shift = -1;
|
|
|
+ } else if (sb->bblog_offset != 0)
|
|
|
+ rdev->badblocks.shift = 0;
|
|
|
|
|
|
if (!refdev) {
|
|
|
ret = 1;
|
|
@@ -3227,7 +3227,7 @@ int md_rdev_init(struct md_rdev *rdev)
|
|
|
* be used - I wonder if that matters
|
|
|
*/
|
|
|
rdev->badblocks.count = 0;
|
|
|
- rdev->badblocks.shift = 0;
|
|
|
+ rdev->badblocks.shift = -1; /* disabled until explicitly enabled */
|
|
|
rdev->badblocks.page = kmalloc(PAGE_SIZE, GFP_KERNEL);
|
|
|
seqlock_init(&rdev->badblocks.lock);
|
|
|
if (rdev->badblocks.page == NULL)
|
|
@@ -3299,9 +3299,6 @@ static struct md_rdev *md_import_device(dev_t newdev, int super_format, int supe
|
|
|
goto abort_free;
|
|
|
}
|
|
|
}
|
|
|
- if (super_format == -1)
|
|
|
- /* hot-add for 0.90, or non-persistent: so no badblocks */
|
|
|
- rdev->badblocks.shift = -1;
|
|
|
|
|
|
return rdev;
|
|
|
|