[PATCH] ramdisk blocksize Kconfig entry
authorNathan Scott <nathans@sgi.com>
Fri, 14 Jul 2006 07:24:10 +0000 (00:24 -0700)
committerLinus Torvalds <torvalds@g5.osdl.org>
Sat, 15 Jul 2006 04:53:53 +0000 (21:53 -0700)
Make 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@sgi.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
drivers/block/Kconfig
drivers/block/rd.c

index 93d94749310bdc6c15beaec61f1f30ccea278ad9..b5382cedf0c09cad0376df575c32b194d5ba7c0d 100644 (file)
@@ -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 3cf246abb5ecd09ccc4de255a60f4982cc7e1e8e..a3f64bfe6b5870eb52229cdd9e9dd36fd6289aaf 100644 (file)
@@ -84,7 +84,7 @@ int rd_size = CONFIG_BLK_DEV_RAM_SIZE;                /* Size of the RAM disks */
  * 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.