[patch] ramdisk blocksize Kconfig entry

From: Nathan Scott
Date: Tue Jul 11 2006 - 03:15:56 EST


This patch makes the ramdisk blocksize configurable at kernel
compilation time rather than only at boot or module load time,
like a couple of the other ramdisk options. I found this handy
awhile back but thought little of it, until recently asked by a
few of the testing folks here to be able to do the same thing
for their automated test setups.

The Kconfig comment is largely lifted from comments in rd.c,
and hopefully this will increase the chances of making folks
aware that the default value often isn't a great choice here
(for increasing values of PAGE_SIZE, even moreso).

Signed-off-by: Nathan Scott <nathans@xxxxxxx>


Index: ramdisk-2.6/drivers/block/Kconfig
===================================================================
--- ramdisk-2.6.orig/drivers/block/Kconfig 2006-07-11 16:56:03.594339750 +1000
+++ ramdisk-2.6/drivers/block/Kconfig 2006-07-11 16:57:34.984051250 +1000
@@ -400,6 +400,16 @@ config BLK_DEV_RAM_SIZE
what are you doing. If you are using IBM S/390, then set this to
8192.

+config BLK_DEV_RAM_BLOCKSIZE
+ int "Default RAM disk block size (bytes)"
+ depends on BLK_DEV_RAM
+ default "1024"
+ help
+ The default value is 1024 kilobytes. PAGE_SIZE is a much more
+ efficient choice however. The default is kept to ensure initrd
+ setups function - apparently needed by the rd_load_image routine
+ that supposes the filesystem in the image uses a 1024 blocksize.
+
config BLK_DEV_INITRD
bool "Initial RAM filesystem and RAM disk (initramfs/initrd) support"
depends on BROKEN || !FRV
Index: ramdisk-2.6/drivers/block/rd.c
===================================================================
--- ramdisk-2.6.orig/drivers/block/rd.c 2006-07-11 16:56:06.822541500 +1000
+++ ramdisk-2.6/drivers/block/rd.c 2006-07-11 16:56:47.065056500 +1000
@@ -84,7 +84,7 @@ int rd_size = CONFIG_BLK_DEV_RAM_SIZE;
* behaviour. The default is still BLOCK_SIZE (needed by rd_load_image that
* supposes the filesystem in the image uses a BLOCK_SIZE blocksize).
*/
-static int rd_blocksize = BLOCK_SIZE; /* blocksize of the RAM disks */
+static int rd_blocksize = CONFIG_BLK_DEV_RAM_BLOCKSIZE;

/*
* Copyright (C) 2000 Linus Torvalds.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/