Re: Reason for md raid1 max_sectors_kb limited to 127?

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

 



On 07/05/12 16:04, Bernd Schubert wrote:
> I think you need something like this. I thought there already went 
> something in in recent kernel, will check it later on today.
>
>
>
> Index: 2.6.32.13/drivers/md/raid0.c
> ===================================================================
> --- 2.6.32.13.orig/drivers/md/raid0.c
> +++ 2.6.32.13/drivers/md/raid0.c
> @@ -96,6 +96,7 @@ static int create_strip_zones(mddev_t *m
>  	int cnt;
>  	char b[BDEVNAME_SIZE];
>  	raid0_conf_t *conf = kzalloc(sizeof(*conf), GFP_KERNEL);
> +	unsigned int opt_io_size;
>  
>  	if (!conf)
>  		return -ENOMEM;
> @@ -256,9 +257,16 @@ static int create_strip_zones(mddev_t *m
>  		goto abort;
>  	}
>  
> +	/*
> +	 * To send large IOs to the drives we need sufficient segments
> +	 * for our own queue first.
> +	 */
> +	opt_io_size = (mddev->chunk_sectors << 9) * mddev->raid_disks;
> +	blk_queue_max_phys_segments(mddev->queue, opt_io_size >> PAGE_SHIFT);
> +	blk_queue_max_hw_segments(mddev->queue, opt_io_size >> PAGE_SHIFT);
> +
>  	blk_queue_io_min(mddev->queue, mddev->chunk_sectors << 9);
> -	blk_queue_io_opt(mddev->queue,
> -			 (mddev->chunk_sectors << 9) * mddev->raid_disks);
> +	blk_queue_io_opt(mddev->queue, opt_io_size);
>  
>  	printk(KERN_INFO "raid0: done.\n");
>  	mddev->private = conf;
>
>
> Cheers,
> Bernd
>   
Thanks for your answer, Bernd!

I've tested 3.3 and 3.4-rc1 and there it works. Now, I'll test latest
linux-3.2.y from linux-stable. Perhaps I'll start a "git bisect" later
on if the fix commit isn't that obvious.

Cheers,

Sebastian
--
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


[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