Re: [PATCH] md/raid5:Not add data_offset when call is_badblock in chunk_aligned_read().

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

 



On Tue, 12 Jun 2012 16:31:10 +0800 majianpeng <majianpeng@xxxxxxxxx> wrote:

> Signed-off-by: majianpeng <majianpeng@xxxxxxxxx>
> ---
>  drivers/md/raid5.c |    5 +++--
>  1 files changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/md/raid5.c b/drivers/md/raid5.c
> index d267672..940f3a7 100644
> --- a/drivers/md/raid5.c
> +++ b/drivers/md/raid5.c
> @@ -3881,8 +3881,6 @@ static int chunk_aligned_read(struct mddev *mddev, struct bio * raid_bio)
>  		raid_bio->bi_next = (void*)rdev;
>  		align_bi->bi_bdev =  rdev->bdev;
>  		align_bi->bi_flags &= ~(1 << BIO_SEG_VALID);
> -		/* No reshape active, so we can trust rdev->data_offset */
> -		align_bi->bi_sector += rdev->data_offset;
>  
>  		if (!bio_fits_rdev(align_bi) ||
>  		    is_badblock(rdev, align_bi->bi_sector, align_bi->bi_size>>9,
> @@ -3893,6 +3891,9 @@ static int chunk_aligned_read(struct mddev *mddev, struct bio * raid_bio)
>  			return 0;
>  		}
>  
> +		/* No reshape active, so we can trust rdev->data_offset */
> +		align_bi->bi_sector += rdev->data_offset;
> +
>  		spin_lock_irq(&conf->device_lock);
>  		wait_event_lock_irq(conf->wait_for_stripe,
>  				    conf->quiesce == 0,


Thanks for catching that!
Patch applied.

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