md: revert change to raid_disks on failure.
authorNeilBrown <neilb@suse.de>
Mon, 31 Jan 2011 00:57:42 +0000 (11:57 +1100)
committerNeilBrown <neilb@suse.de>
Mon, 31 Jan 2011 00:57:42 +0000 (11:57 +1100)
If we try to update_raid_disks and it fails, we should put
'delta_disks' back to zero.  This is important because some code,
such as slot_store, assumes that delta_disks has been validated.

Signed-off-by: NeilBrown <neilb@suse.de>
drivers/md/md.c

index b76cfc89e1b57ce5557d7d4d931132c6f4efcc82..e636e404e9a54bab221d8c19e736d04763c9dc6a 100644 (file)
@@ -5578,6 +5578,8 @@ static int update_raid_disks(mddev_t *mddev, int raid_disks)
        mddev->delta_disks = raid_disks - mddev->raid_disks;
 
        rv = mddev->pers->check_reshape(mddev);
+       if (rv < 0)
+               mddev->delta_disks = 0;
        return rv;
 }