Mercurial > yaffs-ecoscentric-gpl
changeset 108:4a8113f1c36b
Add yaffs2 autoselection
| author | charles <charles> |
|---|---|
| date | Wed, 14 Dec 2005 01:18:45 +0000 |
| parents | be38869f9e3c |
| children | b9876f8c4b48 |
| files | Kconfig yaffs_fs.c |
| diffstat | 2 files changed, 21 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/Kconfig +++ b/Kconfig @@ -58,6 +58,17 @@ config YAFFS_YAFFS2 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. + + If unsure, say Y. + config YAFFS_DISABLE_WIDE_TNODES bool "Turn off wide tnodes" depends on YAFFS_FS
--- a/yaffs_fs.c +++ b/yaffs_fs.c @@ -31,7 +31,7 @@ */ const char *yaffs_fs_c_version = - "$Id: yaffs_fs.c,v 1.36 2005-12-08 00:54:55 charles Exp $"; + "$Id: yaffs_fs.c,v 1.37 2005-12-14 01:18:45 charles Exp $"; extern const char *yaffs_guts_c_version; #include <linux/config.h> @@ -1364,6 +1364,15 @@ static struct super_block *yaffs_interna T(YAFFS_TRACE_OS, (" oobsize %d\n", mtd->oobsize)); T(YAFFS_TRACE_OS, (" erasesize %d\n", mtd->erasesize)); T(YAFFS_TRACE_OS, (" size %d\n", mtd->size)); + +#if CONFIG_YAFFS_AUTO_YAFFS2 + + if (yaffsVersion == 1 && + mtd->oobblock >= 2048) { + T(YAFFS_TRACE_ALWAYS,("yaffs: auto selecting yaffs2\n")); + yaffsVersion = 2; + } +#endif if (yaffsVersion == 2) { /* Check for version 2 style functions */
