From e9f183d454a4a7c77a8ac38121a45ce83bfea8ed Mon Sep 17 00:00:00 2001 From: Andrew Perepechko Date: Tue, 12 Oct 2010 16:33:43 +0400 Subject: [PATCH] b=20533 set the default max_sectors to the raid5/6 stripe size a=Kevin Van Maren i=Jinshan Xiong i=Atul Vidwansa --- .../patches/raid5-maxsectors-rhel5.patch | 23 ++++++++++++++++++++++ lustre/kernel_patches/series/2.6-rhel5.series | 1 + 2 files changed, 24 insertions(+) create mode 100644 lustre/kernel_patches/patches/raid5-maxsectors-rhel5.patch diff --git a/lustre/kernel_patches/patches/raid5-maxsectors-rhel5.patch b/lustre/kernel_patches/patches/raid5-maxsectors-rhel5.patch new file mode 100644 index 0000000..090d703 --- /dev/null +++ b/lustre/kernel_patches/patches/raid5-maxsectors-rhel5.patch @@ -0,0 +1,23 @@ +diff -ru linux-orig/drivers/md/raid5.c linux-new/drivers/md/raid5.c +--- linux-orig/drivers/md/raid5.c 2009-04-14 08:11:38.000000000 +1000 ++++ linux-new/drivers/md/raid5.c 2009-09-20 05:02:02.000000000 +1000 +@@ -3595,10 +3595,16 @@ + mddev->array_size = mddev->size * (conf->previous_raid_disks - + conf->max_degraded); + ++ int stripe_size = conf->chunk_size * (conf->previous_raid_disks - conf->max_degraded); ++ + /* in order to support large I/Os */ +- blk_queue_max_sectors(mddev->queue, conf->chunk_size * conf->previous_raid_disks >> 9); +- mddev->queue->max_phys_segments = conf->chunk_size * (conf->previous_raid_disks - conf->max_degraded) >> PAGE_SHIFT; +- mddev->queue->max_hw_segments = conf->chunk_size * conf->previous_raid_disks >> PAGE_SHIFT;; ++ blk_queue_max_sectors(mddev->queue, stripe_size >> 9); ++ /* KTVM: set default max_sectors the same as the max_hw_sectors set above */ ++ mddev->queue->max_sectors = mddev->queue->max_hw_sectors; ++ printk("%s: setting max_sectors = %d, max_hw_sectors = %d\n", mdname(mddev), mddev->queue->max_sectors, mddev->queue->max_hw_sectors); ++ ++ mddev->queue->max_phys_segments = stripe_size >> PAGE_SHIFT; ++ mddev->queue->max_hw_segments = stripe_size >> PAGE_SHIFT;; + + /* raid5 device is able to do zcopy right now. */ + mddev->queue->backing_dev_info.capabilities |= BDI_CAP_PAGE_CONSTANT_WRITE; diff --git a/lustre/kernel_patches/series/2.6-rhel5.series b/lustre/kernel_patches/series/2.6-rhel5.series index 6d7639d..2d1a634 100644 --- a/lustre/kernel_patches/series/2.6-rhel5.series +++ b/lustre/kernel_patches/series/2.6-rhel5.series @@ -15,6 +15,7 @@ raid5-large-io-rhel5.patch raid5-stripe-by-stripe-handling-rhel5.patch raid5-merge-ios-rhel5.patch raid5-zerocopy-rhel5.patch +raid5-maxsectors-rhel5.patch md-rebuild-policy.patch jbd-journal-chksum-2.6.18-vanilla.patch quota-large-limits-rhel5.patch -- 1.8.3.1