X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs2.git;a=blobdiff_plain;f=Kconfig;h=635414059997d1efcd89eea9e49cc068bcaf6004;hp=f314f60073880ae0b72c226d7845ded6380dbc09;hb=f421449422a9107e857d90d306907084dad236fb;hpb=a70b60ad29933af2402ca745cce2916fe1c19edf diff --git a/Kconfig b/Kconfig index f314f60..6354140 100644 --- a/Kconfig +++ b/Kconfig @@ -5,15 +5,15 @@ config YAFFS_FS tristate "YAFFS2 file system support" default n - depends on MTD + depends on MTD_BLOCK 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. @@ -27,11 +27,30 @@ config YAFFS_YAFFS1 help Enable YAFFS1 support -- yaffs for 512 byte / page devices + Not needed for 2K-page devices. + If unsure, say Y. +config YAFFS_9BYTE_TAGS + bool "Use older-style on-NAND data format with pageStatus byte" + depends on YAFFS_YAFFS1 + default n + help + + Older-style on-NAND data format has a "pageStatus" byte to record + chunk/page state. This byte is zero when the page is discarded. + Choose this option if you have existing on-NAND data using this + format that you need to continue to support. New data written + also uses the older-style format. Note: Use of this option + generally requires that MTD's oob layout be adjusted to use the + older-style format. See notes on tags formats and MTD versions + in yaffs_mtdif1.c. + + If unsure, say N. + config YAFFS_DOES_ECC bool "Lets Yaffs do its own ECC" - depends on YAFFS_FS && YAFFS_YAFFS1 + depends on YAFFS_FS && YAFFS_YAFFS1 && !YAFFS_9BYTE_TAGS default n help This enables Yaffs to use its own ECC functions instead of using @@ -41,12 +60,12 @@ config YAFFS_DOES_ECC config YAFFS_ECC_WRONG_ORDER bool "Use the same ecc byte order as Steven Hill's nand_ecc.c" - depends on YAFFS_FS && YAFFS_DOES_ECC + depends on YAFFS_FS && YAFFS_DOES_ECC && !YAFFS_9BYTE_TAGS 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. @@ -55,7 +74,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. @@ -66,64 +85,77 @@ 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 +config YAFFS_DISABLE_TAGS_ECC + bool "Disable YAFFS from doing ECC on tags by default" + depends on YAFFS_FS && 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. + This defaults Yaffs to using its own ECC calculations on tags instead of + just relying on the MTD. + This behavior can also be overridden with tags_ecc_on and + tags_ecc_off mount options. - 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. + If unsure, say N. - Lazy laoding will be required by checkpointing. +config YAFFS_ALWAYS_CHECK_CHUNK_ERASED + bool "Force chunk erase check" + depends on YAFFS_FS + default n + help + 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. - Setting this to 'y' will disable lazy loading. + 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. - If unsure, say N. + Suggest setting Y during development and ironing out driver + issues etc. Suggest setting to N if you want faster writing. -config YAFFS_DISABLE_WIDE_TNODES - bool "Turn off wide tnodes" + If unsure, say Y. + +config YAFFS_EMPTY_LOST_AND_FOUND + bool "Empty lost and found on boot" 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 - searching. + If this is enabled then the contents of lost and found is + automatically dumped at mount. + + If unsure, say N. - Setting this to 'y' will force tnode width to 16 bits and make - large arrays slower. +config YAFFS_DISABLE_BLOCK_REFRESHING + bool "Disable yaffs2 block refreshing" + depends on YAFFS_FS + default n + help + If this is set, then block refreshing is disabled. + Block refreshing infrequently refreshes the oldest block in + a yaffs2 file system. This mechanism helps to refresh flash to + mitigate against data loss. This is particularly useful for MLC. If unsure, say N. -config YAFFS_DISABLE_CHUNK_ERASED_CHECK - bool "Turn off debug chunk erase check" +config YAFFS_DISABLE_BACKGROUND + bool "Disable yaffs2 background processing" 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. + If this is set, then background processing is disabled. + Background processing makes many foreground activities faster. - If unsure, say Y. + If unsure, say N. -config YAFFS_SHORT_NAMES_IN_RAM - bool "Cache short names in RAM" +config YAFFS_XATTR + bool "Enable yaffs2 xattr support" depends on YAFFS_FS default y help - If this config is set, then short names are stored with the - yaffs_Object. This costs an extra 16 bytes of RAM per object, - but makes look-ups faster. - - If unsure, say Y. + If this is set then yaffs2 will provide xattr support. + If unsure, say Y.