From: NeilBrown <neilb@suse.de>
Date: Wed, 17 Jun 2009 23:14:12 +0000 (+1000)
Subject: md/raid5: correctly update sync_completed when we reach max_resync
X-Git-Tag: firefly_0821_release~13733^2
X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=48606a9f2fc034f0b308d088c1f7ab6d407c462c;p=firefly-linux-kernel-4.4.55.git

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>
---

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
 		wait_event(conf->wait_for_overlap,
 			   atomic_read(&conf->reshape_stripes) == 0);
 		mddev->reshape_position = conf->reshape_progress;
-		mddev->curr_resync_completed = mddev->curr_resync;
+		mddev->curr_resync_completed = mddev->curr_resync + reshape_sectors;
 		conf->reshape_checkpoint = jiffies;
 		set_bit(MD_CHANGE_DEVS, &mddev->flags);
 		md_wakeup_thread(mddev->thread);