diff options
author | NeilBrown <neilb@suse.de> | 2009-06-17 19:14:12 -0400 |
---|---|---|
committer | NeilBrown <neilb@suse.de> | 2009-06-17 19:14:12 -0400 |
commit | 48606a9f2fc034f0b308d088c1f7ab6d407c462c (patch) | |
tree | 4d1e9f14a3400905ff6c1a6d16c423da013bee8d /drivers/md | |
parent | 7a3ab908948b6296ee7e81d42f7c176361c51975 (diff) |
md/raid5: correctly update sync_completed when we reach max_resync
At the end of reshape_request we update cyrr_resync_completed
if we are about to pause due to reaching resync_max.
However we update it to the wrong value. We need to add the
"reshape_sectors" that have just been reshaped.
Signed-off-by: NeilBrown <neilb@suse.de>
Diffstat (limited to 'drivers/md')
-rw-r--r-- | drivers/md/raid5.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/md/raid5.c b/drivers/md/raid5.c index 59e29c2983cb..f9f991e6e138 100644 --- a/drivers/md/raid5.c +++ b/drivers/md/raid5.c | |||
@@ -3946,7 +3946,7 @@ static sector_t reshape_request(mddev_t *mddev, sector_t sector_nr, int *skipped | |||
3946 | wait_event(conf->wait_for_overlap, | 3946 | wait_event(conf->wait_for_overlap, |
3947 | atomic_read(&conf->reshape_stripes) == 0); | 3947 | atomic_read(&conf->reshape_stripes) == 0); |
3948 | mddev->reshape_position = conf->reshape_progress; | 3948 | mddev->reshape_position = conf->reshape_progress; |
3949 | mddev->curr_resync_completed = mddev->curr_resync; | 3949 | mddev->curr_resync_completed = mddev->curr_resync + reshape_sectors; |
3950 | conf->reshape_checkpoint = jiffies; | 3950 | conf->reshape_checkpoint = jiffies; |
3951 | set_bit(MD_CHANGE_DEVS, &mddev->flags); | 3951 | set_bit(MD_CHANGE_DEVS, &mddev->flags); |
3952 | md_wakeup_thread(mddev->thread); | 3952 | md_wakeup_thread(mddev->thread); |