config YAFFS_FS
tristate "YAFFS2 file system support"
default n
- depends on MTD
+ depends on MTD_BLOCK
select YAFFS_YAFFS1
select YAFFS_YAFFS2
help
default y
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
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
+config YAFFS_DISABLE_TAGS_ECC
+ bool "Disable YAFFS from doing ECC on tags by default"
+ depends on YAFFS_FS && YAFFS_YAFFS2
default n
help
- 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 save
- memory but make large arrays slower.
+ 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.
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.
+ 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.