md/linear: fix hot-add of devices to linear arrays.
commit d70ed2e4fa
broke hot-add to a linear array.
After that commit, metadata if not written to devices until they
have been fully integrated into the array as determined by
saved_raid_disk. That patch arranged to clear that field after
a recovery completed.
However for linear arrays, there is no recovery - the integration is
instantaneous. So we need to explicitly clear the saved_raid_disk
field.
Signed-off-by: NeilBrown <neilb@suse.de>
This commit is contained in:
parent
5d8c71f9e5
commit
09cd9270ea
|
@ -230,6 +230,7 @@ static int linear_add(struct mddev *mddev, struct md_rdev *rdev)
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
rdev->raid_disk = rdev->saved_raid_disk;
|
rdev->raid_disk = rdev->saved_raid_disk;
|
||||||
|
rdev->saved_raid_disk = -1;
|
||||||
|
|
||||||
newconf = linear_conf(mddev,mddev->raid_disks+1);
|
newconf = linear_conf(mddev,mddev->raid_disks+1);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue