config YAFFS_FS
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
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.
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
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.
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_AUTO_YAFFS2
+ bool "Autoselect yaffs2 format"
+ depends on YAFFS_YAFFS2
+ default y
+ 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 (yaffs on
+ 512-byte page devices, yaffs2 on 2K page devices).
If unsure, say Y.
-config YAFFS_DISABLE_WIDE_TNODES
- bool "Turn off wide tnodes"
+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 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_ALWAYS_CHECK_CHUNK_ERASED
+ bool "Force chunk erase check"
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.
+ 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.
- Setting this to 'y' will force tnode width to 16 bits and make
- large arrays slower.
+ 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_EMPTY_LOST_AND_FOUND
+ bool "Empty lost and found on boot"
+ depends on YAFFS_FS
+ default n
+ help
+ If this is enabled then the contents of lost and found is
+ automatically dumped at mount.
If unsure, say N.
-config YAFFS_DISABLE_CHUNK_ERASED_CHECK
- bool "Turn off debug chunk erase check"
+config YAFFS_DISABLE_BLOCK_REFRESHING
+ bool "Disable yaffs2 block refreshing"
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 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 Y.
+ If unsure, say N.
-config YAFFS_SHORT_NAMES_IN_RAM
- bool "Cache short names in RAM"
+config YAFFS_DISABLE_BACKGROUND
+ bool "Disable yaffs2 background processing"
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 set, then background processing is disabled.
+ Background processing makes many foreground activities faster.
- If unsure, say Y.
+ 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.