Re: [PATCH] md faulty: use disk_stack_limits()

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

 



On Fri, 19 Oct 2012 18:43:45 -0500 Eric Sandeen <sandeen@xxxxxxxxxx> wrote:

> in:
> fe86cdce block: do not artificially constrain max_sectors for stacking drivers
> 
> max_sectors defaults to UINT_MAX.  md faulty wasn't using
> disk_stack_limits(), so inherited this large value as well.
> This triggered a bug in XFS when stressed over md_faulty, when
> a very large bio_alloc() failed.
> 
> That was on an older kernel, and I can't reproduce exactly the
> same thing upstream, but I think the fix is appropriate in any
> case.
> 
> Thanks to Mike Snitzer for pointing out the problem.
> 
> Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx>
> ---
> 
> diff --git a/drivers/md/faulty.c b/drivers/md/faulty.c
> index 45135f6..5e7dc77 100644
> --- a/drivers/md/faulty.c
> +++ b/drivers/md/faulty.c
> @@ -315,8 +315,11 @@ static int run(struct mddev *mddev)
>  	}
>  	conf->nfaults = 0;
>  
> -	rdev_for_each(rdev, mddev)
> +	rdev_for_each(rdev, mddev) {
>  		conf->rdev = rdev;
> +		disk_stack_limits(mddev->gendisk, rdev->bdev,
> +				  rdev->data_offset << 9);
> +	}
>  
>  	md_set_array_sectors(mddev, faulty_size(mddev, 0, 0));
>  	mddev->private = conf;
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-raid" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html


Applied, thanks.

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