|
@@ -2801,8 +2801,9 @@ static void analyze_sbs(mddev_t * mddev)
|
|
|
|
|
|
i = 0;
|
|
i = 0;
|
|
rdev_for_each(rdev, tmp, mddev) {
|
|
rdev_for_each(rdev, tmp, mddev) {
|
|
- if (rdev->desc_nr >= mddev->max_disks ||
|
|
|
|
- i > mddev->max_disks) {
|
|
|
|
|
|
+ if (mddev->max_disks &&
|
|
|
|
+ (rdev->desc_nr >= mddev->max_disks ||
|
|
|
|
+ i > mddev->max_disks)) {
|
|
printk(KERN_WARNING
|
|
printk(KERN_WARNING
|
|
"md: %s: %s: only %d devices permitted\n",
|
|
"md: %s: %s: only %d devices permitted\n",
|
|
mdname(mddev), bdevname(rdev->bdev, b),
|
|
mdname(mddev), bdevname(rdev->bdev, b),
|
|
@@ -5406,7 +5407,7 @@ static int update_raid_disks(mddev_t *mddev, int raid_disks)
|
|
if (mddev->pers->check_reshape == NULL)
|
|
if (mddev->pers->check_reshape == NULL)
|
|
return -EINVAL;
|
|
return -EINVAL;
|
|
if (raid_disks <= 0 ||
|
|
if (raid_disks <= 0 ||
|
|
- raid_disks >= mddev->max_disks)
|
|
|
|
|
|
+ (mddev->max_disks && raid_disks >= mddev->max_disks))
|
|
return -EINVAL;
|
|
return -EINVAL;
|
|
if (mddev->sync_thread || mddev->reshape_position != MaxSector)
|
|
if (mddev->sync_thread || mddev->reshape_position != MaxSector)
|
|
return -EBUSY;
|
|
return -EBUSY;
|