mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-27 11:19:37 +00:00
md: allow a partially recovered device to be hot-added to an array.
When adding a new device into an array it is normally important to clear any stale data from ->recovery_offset else the new device may not be recovered properly. However when re-adding a device which is known to be nearly in-sync, this is not needed and can be detrimental. The (bitmap-based) resync will still happen, and further recovery is only needed from where-ever it was already up to. So if save_raid_disk is set, signifying a re-add, don't clear ->recovery_offset. Signed-off-by: NeilBrown <neilb@suse.de>
This commit is contained in:
parent
f466722ca6
commit
7eb418851f
1 changed files with 2 additions and 1 deletions
|
@ -7736,7 +7736,8 @@ static int remove_and_add_spares(struct mddev *mddev,
|
|||
!test_bit(Bitmap_sync, &rdev->flags)))
|
||||
continue;
|
||||
|
||||
rdev->recovery_offset = 0;
|
||||
if (rdev->saved_raid_disk < 0)
|
||||
rdev->recovery_offset = 0;
|
||||
if (mddev->pers->
|
||||
hot_add_disk(mddev, rdev) == 0) {
|
||||
if (sysfs_link_rdev(mddev, rdev))
|
||||
|
|
Loading…
Reference in a new issue