md/raid5: make sure curr_sync_completes is uptodate when reshape starts
This value is visible through sysfs and is used by mdadm when it manages a reshape (backing up data that is about to be rearranged). So it is important that it is always correct. Current it does not get updated properly when a reshape starts which can cause problems when assembling an array that is in the middle of being reshaped. This is suitable for 2.6.31.y stable kernels. Cc: stable@kernel.org Signed-off-by: NeilBrown <neilb@suse.de>
This commit is contained in:
@@ -4049,6 +4049,8 @@ static sector_t reshape_request(mddev_t *mddev, sector_t sector_nr, int *skipped
|
|||||||
sector_nr = conf->reshape_progress;
|
sector_nr = conf->reshape_progress;
|
||||||
sector_div(sector_nr, new_data_disks);
|
sector_div(sector_nr, new_data_disks);
|
||||||
if (sector_nr) {
|
if (sector_nr) {
|
||||||
|
mddev->curr_resync_completed = sector_nr;
|
||||||
|
sysfs_notify(&mddev->kobj, NULL, "sync_completed");
|
||||||
*skipped = 1;
|
*skipped = 1;
|
||||||
return sector_nr;
|
return sector_nr;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user