#
-# YAFFS file system configurations
+# yaffs file system configurations
#
config YAFFS_FS
- tristate "YAFFS2 file system support"
+ tristate "yaffs2 file system support"
+ default n
+ depends on MTD_BLOCK
+ select YAFFS_YAFFS1
+ select YAFFS_YAFFS2
help
- YAFFS2, or Yet Another Flash Filing System, is a filing system
+ yaffs2, or Yet Another Flash File System, is a file 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.
- Further information on YAFFS2 is available at
+ Further information on yaffs2 is available at
<http://www.aleph1.co.uk/yaffs/>.
config YAFFS_YAFFS1
bool "512 byte / page devices"
depends on YAFFS_FS
+ default y
help
- Enable YAFFS1 support -- yaffs for 512 byte / page devices
+ 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 && !YAFFS_9BYTE_TAGS
+ default n
+ help
+ This enables yaffs to use its own ECC functions instead of using
+ the ones from the generic MTD-NAND driver.
+
+ If unsure, say N.
+
+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 && !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.
+
+ If unsure, say N.
+
config YAFFS_YAFFS2
bool "2048 byte (or larger) / page devices"
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.
-config YAFFS_USE_NANDECC
- bool "Use ECC functions of the generic MTD-NAND driver"
- depends on YAFFS_FS
+config YAFFS_AUTO_YAFFS2
+ bool "Autoselect yaffs2 format"
+ depends on YAFFS_YAFFS2
default y
help
- This enables the ECC functions of the generic MTD-NAND driver.
- This will not work if you are using the old mtd.
-
- NB Use NAND ECC does not work at present with yaffsram.
+ 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 (yaffs on
+ 512-byte page devices, yaffs2 on 2K page devices).
If unsure, say Y.
-config YAFFS_ECC_WRONG_ORDER
- bool "Use the same ecc byte order as Steven Hill's nand_ecc.c"
- depends on YAFFS_FS && !YAFFS_USE_NANDECC
+config YAFFS_DISABLE_TAGS_ECC
+ bool "Disable yaffs from doing ECC on tags by default"
+ depends on YAFFS_FS && YAFFS_YAFFS2
+ 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 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.
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.
-config YAFFS_SHORT_NAMES_IN_RAM
- bool "Cache short names in RAM"
+config YAFFS_EMPTY_LOST_AND_FOUND
+ bool "Empty lost and found on boot"
depends on YAFFS_FS
- default y
+ default n
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 this is enabled then the contents of lost and found is
+ automatically dumped at mount.
- If unsure, say Y.
+ If unsure, say N.
+
+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_BACKGROUND
+ bool "Disable yaffs2 background processing"
+ depends on YAFFS_FS
+ default n
+ help
+ If this is set, then background processing is disabled.
+ Background processing makes many foreground activities faster.
+
+ If unsure, say N.
+
+config YAFFS_XATTR
+ bool "Enable yaffs2 xattr support"
+ depends on YAFFS_FS
+ default y
+ help
+ If this is set then yaffs2 will provide xattr support.
+ If unsure, say Y.