This patch changes max request size to * in order to allow Lustre to submit large I/Os and avoid unnecessary reads. Index: linux-2.6.9/drivers/md/raid5.c =================================================================== --- linux-2.6.9.orig/drivers/md/raid5.c 2006-05-22 00:01:30.000000000 +0400 +++ linux-2.6.9/drivers/md/raid5.c 2006-05-22 00:09:56.000000000 +0400 @@ -1609,6 +1609,11 @@ static int run (mddev_t *mddev) mddev->queue->unplug_fn = raid5_unplug_device; mddev->queue->issue_flush_fn = raid5_issue_flush; + /* in order to support large I/Os */ + blk_queue_max_sectors(mddev->queue, mddev->chunk_size * mddev->raid_disks >> 9); + mddev->queue->max_phys_segments = mddev->chunk_size * mddev->raid_disks >> PAGE_SHIFT; + mddev->queue->max_hw_segments = mddev->chunk_size * mddev->raid_disks >> PAGE_SHIFT;; + PRINTK("raid5: run(%s) called.\n", mdname(mddev)); ITERATE_RDEV(mddev,rdev,tmp) {