forked from luck/tmp_suning_uos_patched
md: remove test for duplicate device when setting slot number.
When setting the slot number on a device in an active array we currently check that the number is not already in use. We then call into the personality's hot_add_disk function which performs the same test and returns the same error. Thus the common test is not needed. As we will shortly be changing some personalities to allow duplicates in some cases (to support hot-replace), the common test will become inconvenient. So remove the common test. Reviewed-by: Dan Williams <dan.j.williams@intel.com> Signed-off-by: NeilBrown <neilb@suse.de>
This commit is contained in:
parent
915c420ddf
commit
476a7abb9b
@ -2697,7 +2697,6 @@ slot_store(struct md_rdev *rdev, const char *buf, size_t len)
|
||||
set_bit(MD_RECOVERY_NEEDED, &rdev->mddev->recovery);
|
||||
md_wakeup_thread(rdev->mddev->thread);
|
||||
} else if (rdev->mddev->pers) {
|
||||
struct md_rdev *rdev2;
|
||||
/* Activating a spare .. or possibly reactivating
|
||||
* if we ever get bitmaps working here.
|
||||
*/
|
||||
@ -2711,10 +2710,6 @@ slot_store(struct md_rdev *rdev, const char *buf, size_t len)
|
||||
if (rdev->mddev->pers->hot_add_disk == NULL)
|
||||
return -EINVAL;
|
||||
|
||||
list_for_each_entry(rdev2, &rdev->mddev->disks, same_set)
|
||||
if (rdev2->raid_disk == slot)
|
||||
return -EEXIST;
|
||||
|
||||
if (slot >= rdev->mddev->raid_disks &&
|
||||
slot >= rdev->mddev->raid_disks + rdev->mddev->delta_disks)
|
||||
return -ENOSPC;
|
||||
|
Loading…
Reference in New Issue
Block a user