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
Attachment:
signature.asc
Description: PGP signature