diff options
author | kernelmail <kedacomkernel@gmail.com> | 2012-10-31 11:59:10 +1100 |
---|---|---|
committer | NeilBrown <neilb@suse.de> | 2012-12-13 16:41:01 +1100 |
commit | 35d78c66969fbbb51046e9f251849cf54e9ed88c (patch) | |
tree | 283ad99a530bc52d81487f1b188837d011124c87 /drivers/md | |
parent | c02c0aeb6c728e5ad705dba86784bd553cb6f059 (diff) | |
download | linux-3.10-35d78c66969fbbb51046e9f251849cf54e9ed88c.tar.gz linux-3.10-35d78c66969fbbb51046e9f251849cf54e9ed88c.tar.bz2 linux-3.10-35d78c66969fbbb51046e9f251849cf54e9ed88c.zip |
md:Add place to update ->recovery_cp.
In resyncing, recovery_cp only updated when resync aborted or completed.
But in md drives,many place used it to judge.So add a place to update.
Signed-off-by: Jianpeng Ma <majianpeng@gmail.com>
Signed-off-by: NeilBrown <neilb@suse.de>
Diffstat (limited to 'drivers/md')
-rw-r--r-- | drivers/md/md.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/md/md.c b/drivers/md/md.c index 520056a8873..f9708347647 100644 --- a/drivers/md/md.c +++ b/drivers/md/md.c @@ -7462,6 +7462,9 @@ void md_do_sync(struct md_thread *thread) wait_event(mddev->recovery_wait, atomic_read(&mddev->recovery_active) == 0); mddev->curr_resync_completed = j; + if (test_bit(MD_RECOVERY_SYNC, &mddev->recovery) && + j > mddev->recovery_cp) + mddev->recovery_cp = j; set_bit(MD_CHANGE_CLEAN, &mddev->flags); sysfs_notify(&mddev->kobj, NULL, "sync_completed"); } |