X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs2.git;a=blobdiff_plain;f=Kconfig;h=6bd1a6b7f5f0bf59a5658e40d7bee1317a65539a;hp=73e37a09e613bb5f68e68a16728991f595fc7bc1;hb=a46f98fba1f6c231423277e67152b602ff5c98ad;hpb=dd2ede7911c7afa2d28cee19f2727a8ba03fc011 diff --git a/Kconfig b/Kconfig index 73e37a0..6bd1a6b 100644 --- a/Kconfig +++ b/Kconfig @@ -5,14 +5,15 @@ config YAFFS_FS tristate "YAFFS2 file system support" default n + depends on MTD select YAFFS_YAFFS1 select YAFFS_YAFFS2 help YAFFS2, or Yet Another Flash Filing System, is a filing system optimised for NAND Flash chips. - To compile the YAFFS2 file system support as a module, choose M here: - the module will be called yaffs2. + To compile the YAFFS2 file system support as a module, choose M + here: the module will be called yaffs2. If unsure, say N. @@ -25,6 +26,8 @@ config YAFFS_YAFFS1 default y help Enable YAFFS1 support -- yaffs for 512 byte / page devices + + Not needed for 2K-page devices. If unsure, say Y. @@ -43,9 +46,9 @@ config YAFFS_ECC_WRONG_ORDER depends on YAFFS_FS && YAFFS_DOES_ECC default n help - This makes yaffs_ecc.c use the same ecc byte order as - Steven Hill's nand_ecc.c. If not set, then you get the - same ecc byte order as SmartMedia. + This makes yaffs_ecc.c use the same ecc byte order as Steven + Hill's nand_ecc.c. If not set, then you get the same ecc byte + order as SmartMedia. If unsure, say N. @@ -54,7 +57,7 @@ config YAFFS_YAFFS2 depends on YAFFS_FS default y help - Enable YAFFS2 support -- yaffs for >= 2048 byte / page larger devices + Enable YAFFS2 support -- yaffs for >= 2K bytes per page devices If unsure, say Y. @@ -65,34 +68,82 @@ config YAFFS_AUTO_YAFFS2 help Without this, you need to explicitely use yaffs2 as the file system type. With this, you can say "yaffs" and yaffs or yaffs2 - will be used depending on the device page size. + will be used depending on the device page size (yaffs on + 512-byte page devices, yaffs2 on 2K page devices). If unsure, say Y. +config YAFFS_DISABLE_LAZY_LOAD + bool "Disable lazy loading" + depends on YAFFS_YAFFS2 + default n + help + "Lazy loading" defers loading file details until they are + required. This saves mount time, but makes the first look-up + a bit longer. + + Lazy loading will only happen if enabled by this option being 'n' + and if the appropriate tags are available, else yaffs2 will + automatically fall back to immediate loading and do the right + thing. + + Lazy laoding will be required by checkpointing. + + Setting this to 'y' will disable lazy loading. + + If unsure, say N. + +config YAFFS_CHECKPOINT_RESERVED_BLOCKS + int "Reserved blocks for checkpointing" + depends on YAFFS_YAFFS2 + default 10 + help + Give the number of Blocks to reserve for checkpointing. + Checkpointing saves the state at unmount so that mounting is + much faster as a scan of all the flash to regenerate this state + is not needed. These Blocks are reserved per partition, so if + you have very small partitions the default (10) may be a mess + for you. You can set this value to 0, but that does not mean + checkpointing is disabled at all. There only won't be any + specially reserved blocks for checkpointing, so if there is + enough free space on the filesystem, it will be used for + checkpointing. + + If unsure, leave at default (10), but don't wonder if there are + always 2MB used on your large page device partition (10 x 2k + pagesize). When using small partitions or when being very small + on space, you probably want to set this to zero. + config YAFFS_DISABLE_WIDE_TNODES bool "Turn off wide tnodes" depends on YAFFS_FS default n help - Wide tnodes are only used for large NAND arrays (>=32MB for - 512-byte page devices and >=128MB for 2k page devices). They use - slightly more RAM but are faster since they eliminate chunk group + Wide tnodes are only used for NAND arrays >=32MB for 512-byte + page devices and >=128MB for 2k page devices. They use slightly + more RAM but are faster since they eliminate chunk group searching. - Setting this to 'y' will force tnode width to 16 bits and make - large arrays slower. + Setting this to 'y' will force tnode width to 16 bits and save + memory but make large arrays slower. If unsure, say N. -config YAFFS_DISABLE_CHUNK_ERASED_CHECK - bool "Turn off debug chunk erase check" +config YAFFS_ALWAYS_CHECK_CHUNK_ERASED + bool "Force chunk erase check" depends on YAFFS_FS - default y + default n help - Enabling this turns off the test that chunks are erased in flash - before writing to them. This is safe, since the write verification - will fail. Suggest enabling the test (ie. say N) - during development to help debug things. + Normally YAFFS only checks chunks before writing until an erased + chunk is found. This helps to detect any partially written + chunks that might have happened due to power loss. + + Enabling this forces on the test that chunks are erased in flash + before writing to them. This takes more time but is potentially + a bit more secure. + + Suggest setting Y during development and ironing out driver + issues etc. Suggest setting to N if you want faster writing. If unsure, say Y.