Re: [PATCH 2/5] md:Add place to update ->recovery_cp.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Index of Archives]     [Linux RAID Wiki]     [ATA RAID]     [Linux SCSI Target Infrastructure]     [Linux Block]     [Linux IDE]     [Linux SCSI]     [Linux Hams]     [Device Mapper]     [Device Mapper Cryptographics]     [Kernel]     [Linux Admin]     [Linux Net]     [GFS]     [RPM]     [git]     [Yosemite Forum]


  Powered by Linux