>On Sat, 27 Oct 2012 10:28:18 +0800 kernelmail <kedacomkernel@xxxxxxxxx> wrote: > >> 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@xxxxxxxxx> >> --- >> drivers/md/md.c | 2 ++ >> 1 file changed, 2 insertions(+) >> >> diff --git a/drivers/md/md.c b/drivers/md/md.c >> index 1d9940d..01e25bd 100644 >> --- a/drivers/md/md.c >> +++ b/drivers/md/md.c >> @@ -7454,6 +7454,8 @@ 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)) >> + mddev->recovery_cp = j; >> set_bit(MD_CHANGE_CLEAN, &mddev->flags); >> sysfs_notify(&mddev->kobj, NULL, "sync_completed"); >> } > >This isn't correct. If MD_RECOVERY_REQUESTED, then j might be less than >recovery_cp and we don't want to reduce recovery_cp. > >If you would like to fix that (i.e. only set recovery_cp if it is less than >'j'), then I'll apply the patch. > >NeilBrown > Ok, i'll modify and resend to you. Thanks! Jianpeng?韬{.n?????%??檩??w?{.n???{炳盯w???塄}?财??j:+v??????2??璀??摺?囤??z夸z罐?+?????w棹f