diff -pur linux-2.6.18-53.orig/drivers/md/raid5.c linux-2.6.18-53/drivers/md/raid5.c --- linux-2.6.18-53.orig/drivers/md/raid5.c 2007-12-06 17:23:39.000000000 +0800 +++ linux-2.6.18-53/drivers/md/raid5.c 2007-12-06 17:24:14.000000000 +0800 @@ -57,7 +57,7 @@ * Stripe cache */ -#define NR_STRIPES 256 +static int raid5_nr_stripes = 256 * 8; #define STRIPE_SIZE PAGE_SIZE #define STRIPE_SHIFT (PAGE_SHIFT - 9) #define STRIPE_SECTORS (STRIPE_SIZE>>9) @@ -3230,7 +3230,7 @@ static int run(mddev_t *mddev) else conf->max_degraded = 1; conf->algorithm = mddev->layout; - conf->max_nr_stripes = NR_STRIPES; + conf->max_nr_stripes = raid5_nr_stripes; conf->expand_progress = mddev->reshape_position; /* device size must be a multiple of chunk size */ @@ -3821,6 +3821,7 @@ static void raid5_exit(void) module_init(raid5_init); module_exit(raid5_exit); +module_param(raid5_nr_stripes, int, 0644); MODULE_LICENSE("GPL"); MODULE_ALIAS("md-personality-4"); /* RAID5 */ MODULE_ALIAS("md-raid5"); Only in linux-2.6.18-53/drivers/md: raid5.c.orig Only in linux-2.6.18-53.orig/include/linux/raid: .raid5.h.swp