|
|
@@ -1,6 +1,25 @@
|
|
|
+diff -urN linux-2.6.21.1/fs/Kconfig linux-2.6.21.1.new/fs/Kconfig
|
|
|
+--- linux-2.6.21.1/fs/Kconfig 2007-06-08 14:07:09.000000000 +0200
|
|
|
++++ linux-2.6.21.1.new/fs/Kconfig 2007-06-08 14:09:26.000000000 +0200
|
|
|
+@@ -419,6 +419,7 @@
|
|
|
+
|
|
|
+ source "fs/xfs/Kconfig"
|
|
|
+ source "fs/gfs2/Kconfig"
|
|
|
++source "fs/yaffs2/Kconfig"
|
|
|
+
|
|
|
+ config OCFS2_FS
|
|
|
+ tristate "OCFS2 file system support"
|
|
|
+diff -urN linux-2.6.21.1/fs/Makefile linux-2.6.21.1.new/fs/Makefile
|
|
|
+--- linux-2.6.21.1/fs/Makefile 2007-06-08 14:07:09.000000000 +0200
|
|
|
++++ linux-2.6.21.1.new/fs/Makefile 2007-06-08 14:09:51.000000000 +0200
|
|
|
+@@ -116,3 +116,4 @@
|
|
|
+ obj-$(CONFIG_DEBUG_FS) += debugfs/
|
|
|
+ obj-$(CONFIG_OCFS2_FS) += ocfs2/
|
|
|
+ obj-$(CONFIG_GFS2_FS) += gfs2/
|
|
|
++obj-$(CONFIG_YAFFS_FS) += yaffs2/
|
|
|
diff -urN linux-2.6.21.1/fs/yaffs2/Kconfig linux-2.6.21.1.new/fs/yaffs2/Kconfig
|
|
|
--- linux-2.6.21.1/fs/yaffs2/Kconfig 1970-01-01 01:00:00.000000000 +0100
|
|
|
-+++ linux-2.6.21.1.new/fs/yaffs2/Kconfig 2007-05-30 13:17:16.000000000 +0200
|
|
|
++++ linux-2.6.21.1.new/fs/yaffs2/Kconfig 2007-06-08 14:07:26.000000000 +0200
|
|
|
@@ -0,0 +1,175 @@
|
|
|
+#
|
|
|
+# YAFFS file system configurations
|
|
|
@@ -179,7 +198,7 @@ diff -urN linux-2.6.21.1/fs/yaffs2/Kconfig linux-2.6.21.1.new/fs/yaffs2/Kconfig
|
|
|
+ If unsure, say Y.
|
|
|
diff -urN linux-2.6.21.1/fs/yaffs2/Makefile linux-2.6.21.1.new/fs/yaffs2/Makefile
|
|
|
--- linux-2.6.21.1/fs/yaffs2/Makefile 1970-01-01 01:00:00.000000000 +0100
|
|
|
-+++ linux-2.6.21.1.new/fs/yaffs2/Makefile 2007-05-30 13:17:16.000000000 +0200
|
|
|
++++ linux-2.6.21.1.new/fs/yaffs2/Makefile 2007-06-08 14:07:26.000000000 +0200
|
|
|
@@ -0,0 +1,11 @@
|
|
|
+#
|
|
|
+# Makefile for the linux YAFFS filesystem routines.
|
|
|
@@ -194,7 +213,7 @@ diff -urN linux-2.6.21.1/fs/yaffs2/Makefile linux-2.6.21.1.new/fs/yaffs2/Makefil
|
|
|
+yaffs-y += yaffs_mtdif.o yaffs_mtdif2.o
|
|
|
diff -urN linux-2.6.21.1/fs/yaffs2/devextras.h linux-2.6.21.1.new/fs/yaffs2/devextras.h
|
|
|
--- linux-2.6.21.1/fs/yaffs2/devextras.h 1970-01-01 01:00:00.000000000 +0100
|
|
|
-+++ linux-2.6.21.1.new/fs/yaffs2/devextras.h 2007-05-30 13:17:16.000000000 +0200
|
|
|
++++ linux-2.6.21.1.new/fs/yaffs2/devextras.h 2007-06-08 14:07:26.000000000 +0200
|
|
|
@@ -0,0 +1,264 @@
|
|
|
+/*
|
|
|
+ * YAFFS: Yet another Flash File System . A NAND-flash specific file system.
|
|
|
@@ -462,7 +481,7 @@ diff -urN linux-2.6.21.1/fs/yaffs2/devextras.h linux-2.6.21.1.new/fs/yaffs2/deve
|
|
|
+#endif
|
|
|
diff -urN linux-2.6.21.1/fs/yaffs2/moduleconfig.h linux-2.6.21.1.new/fs/yaffs2/moduleconfig.h
|
|
|
--- linux-2.6.21.1/fs/yaffs2/moduleconfig.h 1970-01-01 01:00:00.000000000 +0100
|
|
|
-+++ linux-2.6.21.1.new/fs/yaffs2/moduleconfig.h 2007-05-30 13:17:16.000000000 +0200
|
|
|
++++ linux-2.6.21.1.new/fs/yaffs2/moduleconfig.h 2007-06-08 14:07:26.000000000 +0200
|
|
|
@@ -0,0 +1,65 @@
|
|
|
+/*
|
|
|
+ * YAFFS: Yet another Flash File System . A NAND-flash specific file system.
|
|
|
@@ -531,7 +550,7 @@ diff -urN linux-2.6.21.1/fs/yaffs2/moduleconfig.h linux-2.6.21.1.new/fs/yaffs2/m
|
|
|
+#endif /* __YAFFS_CONFIG_H__ */
|
|
|
diff -urN linux-2.6.21.1/fs/yaffs2/yaffs_checkptrw.c linux-2.6.21.1.new/fs/yaffs2/yaffs_checkptrw.c
|
|
|
--- linux-2.6.21.1/fs/yaffs2/yaffs_checkptrw.c 1970-01-01 01:00:00.000000000 +0100
|
|
|
-+++ linux-2.6.21.1.new/fs/yaffs2/yaffs_checkptrw.c 2007-05-30 13:17:16.000000000 +0200
|
|
|
++++ linux-2.6.21.1.new/fs/yaffs2/yaffs_checkptrw.c 2007-06-08 14:07:26.000000000 +0200
|
|
|
@@ -0,0 +1,404 @@
|
|
|
+/*
|
|
|
+ * YAFFS: Yet Another Flash File System. A NAND-flash specific file system.
|
|
|
@@ -939,7 +958,7 @@ diff -urN linux-2.6.21.1/fs/yaffs2/yaffs_checkptrw.c linux-2.6.21.1.new/fs/yaffs
|
|
|
+
|
|
|
diff -urN linux-2.6.21.1/fs/yaffs2/yaffs_checkptrw.h linux-2.6.21.1.new/fs/yaffs2/yaffs_checkptrw.h
|
|
|
--- linux-2.6.21.1/fs/yaffs2/yaffs_checkptrw.h 1970-01-01 01:00:00.000000000 +0100
|
|
|
-+++ linux-2.6.21.1.new/fs/yaffs2/yaffs_checkptrw.h 2007-05-30 13:17:16.000000000 +0200
|
|
|
++++ linux-2.6.21.1.new/fs/yaffs2/yaffs_checkptrw.h 2007-06-08 14:07:26.000000000 +0200
|
|
|
@@ -0,0 +1,35 @@
|
|
|
+/*
|
|
|
+ * YAFFS: Yet another Flash File System . A NAND-flash specific file system.
|
|
|
@@ -978,7 +997,7 @@ diff -urN linux-2.6.21.1/fs/yaffs2/yaffs_checkptrw.h linux-2.6.21.1.new/fs/yaffs
|
|
|
+
|
|
|
diff -urN linux-2.6.21.1/fs/yaffs2/yaffs_ecc.c linux-2.6.21.1.new/fs/yaffs2/yaffs_ecc.c
|
|
|
--- linux-2.6.21.1/fs/yaffs2/yaffs_ecc.c 1970-01-01 01:00:00.000000000 +0100
|
|
|
-+++ linux-2.6.21.1.new/fs/yaffs2/yaffs_ecc.c 2007-05-30 13:17:16.000000000 +0200
|
|
|
++++ linux-2.6.21.1.new/fs/yaffs2/yaffs_ecc.c 2007-06-08 14:07:26.000000000 +0200
|
|
|
@@ -0,0 +1,331 @@
|
|
|
+/*
|
|
|
+ * YAFFS: Yet Another Flash File System. A NAND-flash specific file system.
|
|
|
@@ -1313,7 +1332,7 @@ diff -urN linux-2.6.21.1/fs/yaffs2/yaffs_ecc.c linux-2.6.21.1.new/fs/yaffs2/yaff
|
|
|
+
|
|
|
diff -urN linux-2.6.21.1/fs/yaffs2/yaffs_ecc.h linux-2.6.21.1.new/fs/yaffs2/yaffs_ecc.h
|
|
|
--- linux-2.6.21.1/fs/yaffs2/yaffs_ecc.h 1970-01-01 01:00:00.000000000 +0100
|
|
|
-+++ linux-2.6.21.1.new/fs/yaffs2/yaffs_ecc.h 2007-05-30 13:17:16.000000000 +0200
|
|
|
++++ linux-2.6.21.1.new/fs/yaffs2/yaffs_ecc.h 2007-06-08 14:07:26.000000000 +0200
|
|
|
@@ -0,0 +1,44 @@
|
|
|
+/*
|
|
|
+ * YAFFS: Yet another Flash File System . A NAND-flash specific file system.
|
|
|
@@ -1361,7 +1380,7 @@ diff -urN linux-2.6.21.1/fs/yaffs2/yaffs_ecc.h linux-2.6.21.1.new/fs/yaffs2/yaff
|
|
|
+#endif
|
|
|
diff -urN linux-2.6.21.1/fs/yaffs2/yaffs_fs.c linux-2.6.21.1.new/fs/yaffs2/yaffs_fs.c
|
|
|
--- linux-2.6.21.1/fs/yaffs2/yaffs_fs.c 1970-01-01 01:00:00.000000000 +0100
|
|
|
-+++ linux-2.6.21.1.new/fs/yaffs2/yaffs_fs.c 2007-05-30 13:17:16.000000000 +0200
|
|
|
++++ linux-2.6.21.1.new/fs/yaffs2/yaffs_fs.c 2007-06-08 14:07:26.000000000 +0200
|
|
|
@@ -0,0 +1,2278 @@
|
|
|
+/*
|
|
|
+ * YAFFS: Yet Another Flash File System. A NAND-flash specific file system.
|
|
|
@@ -3643,7 +3662,7 @@ diff -urN linux-2.6.21.1/fs/yaffs2/yaffs_fs.c linux-2.6.21.1.new/fs/yaffs2/yaffs
|
|
|
+MODULE_LICENSE("GPL");
|
|
|
diff -urN linux-2.6.21.1/fs/yaffs2/yaffs_guts.c linux-2.6.21.1.new/fs/yaffs2/yaffs_guts.c
|
|
|
--- linux-2.6.21.1/fs/yaffs2/yaffs_guts.c 1970-01-01 01:00:00.000000000 +0100
|
|
|
-+++ linux-2.6.21.1.new/fs/yaffs2/yaffs_guts.c 2007-05-30 13:17:16.000000000 +0200
|
|
|
++++ linux-2.6.21.1.new/fs/yaffs2/yaffs_guts.c 2007-06-08 14:07:26.000000000 +0200
|
|
|
@@ -0,0 +1,7469 @@
|
|
|
+/*
|
|
|
+ * YAFFS: Yet Another Flash File System. A NAND-flash specific file system.
|
|
|
@@ -11116,7 +11135,7 @@ diff -urN linux-2.6.21.1/fs/yaffs2/yaffs_guts.c linux-2.6.21.1.new/fs/yaffs2/yaf
|
|
|
+}
|
|
|
diff -urN linux-2.6.21.1/fs/yaffs2/yaffs_guts.h linux-2.6.21.1.new/fs/yaffs2/yaffs_guts.h
|
|
|
--- linux-2.6.21.1/fs/yaffs2/yaffs_guts.h 1970-01-01 01:00:00.000000000 +0100
|
|
|
-+++ linux-2.6.21.1.new/fs/yaffs2/yaffs_guts.h 2007-05-30 13:17:16.000000000 +0200
|
|
|
++++ linux-2.6.21.1.new/fs/yaffs2/yaffs_guts.h 2007-06-08 14:07:26.000000000 +0200
|
|
|
@@ -0,0 +1,902 @@
|
|
|
+/*
|
|
|
+ * YAFFS: Yet another Flash File System . A NAND-flash specific file system.
|
|
|
@@ -12022,7 +12041,7 @@ diff -urN linux-2.6.21.1/fs/yaffs2/yaffs_guts.h linux-2.6.21.1.new/fs/yaffs2/yaf
|
|
|
+#endif
|
|
|
diff -urN linux-2.6.21.1/fs/yaffs2/yaffs_mtdif.c linux-2.6.21.1.new/fs/yaffs2/yaffs_mtdif.c
|
|
|
--- linux-2.6.21.1/fs/yaffs2/yaffs_mtdif.c 1970-01-01 01:00:00.000000000 +0100
|
|
|
-+++ linux-2.6.21.1.new/fs/yaffs2/yaffs_mtdif.c 2007-05-30 13:17:17.000000000 +0200
|
|
|
++++ linux-2.6.21.1.new/fs/yaffs2/yaffs_mtdif.c 2007-06-08 14:07:26.000000000 +0200
|
|
|
@@ -0,0 +1,241 @@
|
|
|
+/*
|
|
|
+ * YAFFS: Yet Another Flash File System. A NAND-flash specific file system.
|
|
|
@@ -12267,7 +12286,7 @@ diff -urN linux-2.6.21.1/fs/yaffs2/yaffs_mtdif.c linux-2.6.21.1.new/fs/yaffs2/ya
|
|
|
+
|
|
|
diff -urN linux-2.6.21.1/fs/yaffs2/yaffs_mtdif.h linux-2.6.21.1.new/fs/yaffs2/yaffs_mtdif.h
|
|
|
--- linux-2.6.21.1/fs/yaffs2/yaffs_mtdif.h 1970-01-01 01:00:00.000000000 +0100
|
|
|
-+++ linux-2.6.21.1.new/fs/yaffs2/yaffs_mtdif.h 2007-05-30 13:17:17.000000000 +0200
|
|
|
++++ linux-2.6.21.1.new/fs/yaffs2/yaffs_mtdif.h 2007-06-08 14:07:26.000000000 +0200
|
|
|
@@ -0,0 +1,27 @@
|
|
|
+/*
|
|
|
+ * YAFFS: Yet another Flash File System . A NAND-flash specific file system.
|
|
|
@@ -12298,7 +12317,7 @@ diff -urN linux-2.6.21.1/fs/yaffs2/yaffs_mtdif.h linux-2.6.21.1.new/fs/yaffs2/ya
|
|
|
+#endif
|
|
|
diff -urN linux-2.6.21.1/fs/yaffs2/yaffs_mtdif1-compat.c linux-2.6.21.1.new/fs/yaffs2/yaffs_mtdif1-compat.c
|
|
|
--- linux-2.6.21.1/fs/yaffs2/yaffs_mtdif1-compat.c 1970-01-01 01:00:00.000000000 +0100
|
|
|
-+++ linux-2.6.21.1.new/fs/yaffs2/yaffs_mtdif1-compat.c 2007-05-30 13:17:16.000000000 +0200
|
|
|
++++ linux-2.6.21.1.new/fs/yaffs2/yaffs_mtdif1-compat.c 2007-06-08 14:07:26.000000000 +0200
|
|
|
@@ -0,0 +1,434 @@
|
|
|
+From [email protected] Fri May 18 15:06:49 2007
|
|
|
+From [email protected] Fri May 18 15:08:21 2007
|
|
|
@@ -12736,8 +12755,8 @@ diff -urN linux-2.6.21.1/fs/yaffs2/yaffs_mtdif1-compat.c linux-2.6.21.1.new/fs/y
|
|
|
+
|
|
|
diff -urN linux-2.6.21.1/fs/yaffs2/yaffs_mtdif1.c linux-2.6.21.1.new/fs/yaffs2/yaffs_mtdif1.c
|
|
|
--- linux-2.6.21.1/fs/yaffs2/yaffs_mtdif1.c 1970-01-01 01:00:00.000000000 +0100
|
|
|
-+++ linux-2.6.21.1.new/fs/yaffs2/yaffs_mtdif1.c 2007-05-30 13:17:16.000000000 +0200
|
|
|
-@@ -0,0 +1,339 @@
|
|
|
++++ linux-2.6.21.1.new/fs/yaffs2/yaffs_mtdif1.c 2007-06-08 14:07:26.000000000 +0200
|
|
|
+@@ -0,0 +1,363 @@
|
|
|
+/*
|
|
|
+ * YAFFS: Yet another FFS. A NAND-flash specific file system.
|
|
|
+ * yaffs_mtdif1.c NAND mtd interface functions for small-page NAND.
|
|
|
@@ -12774,7 +12793,6 @@ diff -urN linux-2.6.21.1/fs/yaffs2/yaffs_mtdif1.c linux-2.6.21.1.new/fs/yaffs2/y
|
|
|
+#include "linux/mtd/mtd.h"
|
|
|
+
|
|
|
+/* Don't compile this module if we don't have MTD's mtd_oob_ops interface */
|
|
|
-+/* should really be >= .17, but elsewhere > .17 is used, so be consistent */
|
|
|
+#if (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,17))
|
|
|
+
|
|
|
+const char *yaffs_mtdif1_c_version = "$Id: yaffs_mtdif1.c,v 1.3 2007/05/15 20:16:11 ian Exp $";
|
|
|
@@ -12843,6 +12861,8 @@ diff -urN linux-2.6.21.1/fs/yaffs2/yaffs_mtdif1.c linux-2.6.21.1.new/fs/yaffs2/y
|
|
|
+ compile_time_assertion(sizeof(yaffs_PackedTags1) == 12);
|
|
|
+ compile_time_assertion(sizeof(yaffs_Tags) == 8);
|
|
|
+
|
|
|
++ dev->nPageWrites++;
|
|
|
++
|
|
|
+ yaffs_PackTags1(&pt1, etags);
|
|
|
+ yaffs_CalcTagsECC((yaffs_Tags *)&pt1);
|
|
|
+
|
|
|
@@ -12919,6 +12939,8 @@ diff -urN linux-2.6.21.1/fs/yaffs2/yaffs_mtdif1.c linux-2.6.21.1.new/fs/yaffs2/y
|
|
|
+ int retval;
|
|
|
+ int deleted;
|
|
|
+
|
|
|
++ dev->nPageReads++;
|
|
|
++
|
|
|
+ memset(&ops, 0, sizeof(ops));
|
|
|
+ ops.mode = MTD_OOB_AUTO;
|
|
|
+ ops.len = (data) ? chunkBytes : 0;
|
|
|
@@ -12926,6 +12948,12 @@ diff -urN linux-2.6.21.1/fs/yaffs2/yaffs_mtdif1.c linux-2.6.21.1.new/fs/yaffs2/y
|
|
|
+ ops.datbuf = data;
|
|
|
+ ops.oobbuf = (__u8 *)&pt1;
|
|
|
+
|
|
|
++#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,20))
|
|
|
++ /* In MTD 2.6.18 to 2.6.19 nand_base.c:nand_do_read_oob() has a bug;
|
|
|
++ * help it out with ops.len = ops.ooblen when ops.datbuf == NULL.
|
|
|
++ */
|
|
|
++ ops.len = (ops.datbuf) ? ops.len : ops.ooblen;
|
|
|
++#endif
|
|
|
+ /* Read page and oob using MTD.
|
|
|
+ * Check status and determine ECC result.
|
|
|
+ */
|
|
|
@@ -12972,7 +13000,7 @@ diff -urN linux-2.6.21.1/fs/yaffs2/yaffs_mtdif1.c linux-2.6.21.1.new/fs/yaffs2/y
|
|
|
+ deleted = !pt1.deleted;
|
|
|
+ pt1.deleted = 1;
|
|
|
+#else
|
|
|
-+ (void) deleted; /* not used */
|
|
|
++ deleted = (yaffs_CountBits(((__u8 *)&pt1)[8]) < 7);
|
|
|
+#endif
|
|
|
+
|
|
|
+ /* Check the packed tags mini-ECC and correct if necessary/possible.
|
|
|
@@ -12985,7 +13013,8 @@ diff -urN linux-2.6.21.1/fs/yaffs2/yaffs_mtdif1.c linux-2.6.21.1.new/fs/yaffs2/y
|
|
|
+ case 1:
|
|
|
+ /* recovered tags-ECC error */
|
|
|
+ dev->tagsEccFixed++;
|
|
|
-+ eccres = YAFFS_ECC_RESULT_FIXED;
|
|
|
++ if (eccres == YAFFS_ECC_RESULT_NO_ERROR)
|
|
|
++ eccres = YAFFS_ECC_RESULT_FIXED;
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ /* unrecovered tags-ECC error */
|
|
|
@@ -13000,13 +13029,8 @@ diff -urN linux-2.6.21.1/fs/yaffs2/yaffs_mtdif1.c linux-2.6.21.1.new/fs/yaffs2/y
|
|
|
+ yaffs_UnpackTags1(etags, &pt1);
|
|
|
+ etags->eccResult = eccres;
|
|
|
+
|
|
|
-+ /* Set deleted state.
|
|
|
-+ */
|
|
|
-+#ifndef CONFIG_YAFFS_9BYTE_TAGS
|
|
|
++ /* Set deleted state */
|
|
|
+ etags->chunkDeleted = deleted;
|
|
|
-+#else
|
|
|
-+ etags->chunkDeleted = (yaffs_CountBits(((__u8 *)&pt1)[8]) < 7);
|
|
|
-+#endif
|
|
|
+ return YAFFS_OK;
|
|
|
+}
|
|
|
+
|
|
|
@@ -13029,6 +13053,25 @@ diff -urN linux-2.6.21.1/fs/yaffs2/yaffs_mtdif1.c linux-2.6.21.1.new/fs/yaffs2/y
|
|
|
+ return (retval) ? YAFFS_FAIL : YAFFS_OK;
|
|
|
+}
|
|
|
+
|
|
|
++/* Check any MTD prerequists.
|
|
|
++ *
|
|
|
++ * Returns YAFFS_OK or YAFFS_FAIL.
|
|
|
++ */
|
|
|
++static int nandmtd1_TestPrerequists(struct mtd_info * mtd)
|
|
|
++{
|
|
|
++ /* 2.6.18 has mtd->ecclayout->oobavail */
|
|
|
++ /* 2.6.21 has mtd->ecclayout->oobavail and mtd->oobavail */
|
|
|
++ int oobavail = mtd->ecclayout->oobavail;
|
|
|
++
|
|
|
++ if (oobavail < YTAG1_SIZE) {
|
|
|
++ yaffs_trace(YAFFS_TRACE_ERROR,
|
|
|
++ "mtd device has only %d bytes for tags, need %d\n",
|
|
|
++ oobavail, YTAG1_SIZE);
|
|
|
++ return YAFFS_FAIL;
|
|
|
++ }
|
|
|
++ return YAFFS_OK;
|
|
|
++}
|
|
|
++
|
|
|
+/* Query for the current state of a specific block.
|
|
|
+ *
|
|
|
+ * Examine the tags of the first chunk of the block and return the state:
|
|
|
@@ -13047,14 +13090,14 @@ diff -urN linux-2.6.21.1/fs/yaffs2/yaffs_mtdif1.c linux-2.6.21.1.new/fs/yaffs2/y
|
|
|
+ int state = YAFFS_BLOCK_STATE_DEAD;
|
|
|
+ int seqnum = 0;
|
|
|
+ int retval;
|
|
|
-+#if 0
|
|
|
-+ if (mtd->oobavail < YTAG1_SIZE) {
|
|
|
-+ yaffs_trace(YAFFS_TRACE_ERROR,
|
|
|
-+ "mtd device has only %d bytes for tags, need %d",
|
|
|
-+ mtd->oobavail, YTAG1_SIZE);
|
|
|
++
|
|
|
++ /* We don't yet have a good place to test for MTD config prerequists.
|
|
|
++ * Do it here as we are called during the initial scan.
|
|
|
++ */
|
|
|
++ if (nandmtd1_TestPrerequists(mtd) != YAFFS_OK) {
|
|
|
+ return YAFFS_FAIL;
|
|
|
+ }
|
|
|
-+#endif
|
|
|
++
|
|
|
+ retval = nandmtd1_ReadChunkWithTagsFromNAND(dev, chunkNo, NULL, &etags);
|
|
|
+ if (etags.blockBad) {
|
|
|
+ yaffs_trace(YAFFS_TRACE_BAD_BLOCKS,
|
|
|
@@ -13079,7 +13122,7 @@ diff -urN linux-2.6.21.1/fs/yaffs2/yaffs_mtdif1.c linux-2.6.21.1.new/fs/yaffs2/y
|
|
|
+#endif /*KERNEL_VERSION*/
|
|
|
diff -urN linux-2.6.21.1/fs/yaffs2/yaffs_mtdif1.h linux-2.6.21.1.new/fs/yaffs2/yaffs_mtdif1.h
|
|
|
--- linux-2.6.21.1/fs/yaffs2/yaffs_mtdif1.h 1970-01-01 01:00:00.000000000 +0100
|
|
|
-+++ linux-2.6.21.1.new/fs/yaffs2/yaffs_mtdif1.h 2007-05-30 13:17:17.000000000 +0200
|
|
|
++++ linux-2.6.21.1.new/fs/yaffs2/yaffs_mtdif1.h 2007-06-08 14:07:26.000000000 +0200
|
|
|
@@ -0,0 +1,28 @@
|
|
|
+/*
|
|
|
+ * YAFFS: Yet another Flash File System. A NAND-flash specific file system.
|
|
|
@@ -13111,7 +13154,7 @@ diff -urN linux-2.6.21.1/fs/yaffs2/yaffs_mtdif1.h linux-2.6.21.1.new/fs/yaffs2/y
|
|
|
+#endif
|
|
|
diff -urN linux-2.6.21.1/fs/yaffs2/yaffs_mtdif2.c linux-2.6.21.1.new/fs/yaffs2/yaffs_mtdif2.c
|
|
|
--- linux-2.6.21.1/fs/yaffs2/yaffs_mtdif2.c 1970-01-01 01:00:00.000000000 +0100
|
|
|
-+++ linux-2.6.21.1.new/fs/yaffs2/yaffs_mtdif2.c 2007-05-30 13:17:17.000000000 +0200
|
|
|
++++ linux-2.6.21.1.new/fs/yaffs2/yaffs_mtdif2.c 2007-06-08 14:07:26.000000000 +0200
|
|
|
@@ -0,0 +1,232 @@
|
|
|
+/*
|
|
|
+ * YAFFS: Yet Another Flash File System. A NAND-flash specific file system.
|
|
|
@@ -13347,7 +13390,7 @@ diff -urN linux-2.6.21.1/fs/yaffs2/yaffs_mtdif2.c linux-2.6.21.1.new/fs/yaffs2/y
|
|
|
+
|
|
|
diff -urN linux-2.6.21.1/fs/yaffs2/yaffs_mtdif2.h linux-2.6.21.1.new/fs/yaffs2/yaffs_mtdif2.h
|
|
|
--- linux-2.6.21.1/fs/yaffs2/yaffs_mtdif2.h 1970-01-01 01:00:00.000000000 +0100
|
|
|
-+++ linux-2.6.21.1.new/fs/yaffs2/yaffs_mtdif2.h 2007-05-30 13:17:17.000000000 +0200
|
|
|
++++ linux-2.6.21.1.new/fs/yaffs2/yaffs_mtdif2.h 2007-06-08 14:07:26.000000000 +0200
|
|
|
@@ -0,0 +1,29 @@
|
|
|
+/*
|
|
|
+ * YAFFS: Yet another Flash File System . A NAND-flash specific file system.
|
|
|
@@ -13380,7 +13423,7 @@ diff -urN linux-2.6.21.1/fs/yaffs2/yaffs_mtdif2.h linux-2.6.21.1.new/fs/yaffs2/y
|
|
|
+#endif
|
|
|
diff -urN linux-2.6.21.1/fs/yaffs2/yaffs_nand.c linux-2.6.21.1.new/fs/yaffs2/yaffs_nand.c
|
|
|
--- linux-2.6.21.1/fs/yaffs2/yaffs_nand.c 1970-01-01 01:00:00.000000000 +0100
|
|
|
-+++ linux-2.6.21.1.new/fs/yaffs2/yaffs_nand.c 2007-05-30 13:17:17.000000000 +0200
|
|
|
++++ linux-2.6.21.1.new/fs/yaffs2/yaffs_nand.c 2007-06-08 14:07:26.000000000 +0200
|
|
|
@@ -0,0 +1,134 @@
|
|
|
+/*
|
|
|
+ * YAFFS: Yet Another Flash File System. A NAND-flash specific file system.
|
|
|
@@ -13518,7 +13561,7 @@ diff -urN linux-2.6.21.1/fs/yaffs2/yaffs_nand.c linux-2.6.21.1.new/fs/yaffs2/yaf
|
|
|
+
|
|
|
diff -urN linux-2.6.21.1/fs/yaffs2/yaffs_nand.h linux-2.6.21.1.new/fs/yaffs2/yaffs_nand.h
|
|
|
--- linux-2.6.21.1/fs/yaffs2/yaffs_nand.h 1970-01-01 01:00:00.000000000 +0100
|
|
|
-+++ linux-2.6.21.1.new/fs/yaffs2/yaffs_nand.h 2007-05-30 13:17:17.000000000 +0200
|
|
|
++++ linux-2.6.21.1.new/fs/yaffs2/yaffs_nand.h 2007-06-08 14:07:26.000000000 +0200
|
|
|
@@ -0,0 +1,44 @@
|
|
|
+/*
|
|
|
+ * YAFFS: Yet another Flash File System . A NAND-flash specific file system.
|
|
|
@@ -13566,7 +13609,7 @@ diff -urN linux-2.6.21.1/fs/yaffs2/yaffs_nand.h linux-2.6.21.1.new/fs/yaffs2/yaf
|
|
|
+
|
|
|
diff -urN linux-2.6.21.1/fs/yaffs2/yaffs_nandemul2k.h linux-2.6.21.1.new/fs/yaffs2/yaffs_nandemul2k.h
|
|
|
--- linux-2.6.21.1/fs/yaffs2/yaffs_nandemul2k.h 1970-01-01 01:00:00.000000000 +0100
|
|
|
-+++ linux-2.6.21.1.new/fs/yaffs2/yaffs_nandemul2k.h 2007-05-30 13:17:17.000000000 +0200
|
|
|
++++ linux-2.6.21.1.new/fs/yaffs2/yaffs_nandemul2k.h 2007-06-08 14:07:26.000000000 +0200
|
|
|
@@ -0,0 +1,39 @@
|
|
|
+/*
|
|
|
+ * YAFFS: Yet another Flash File System . A NAND-flash specific file system.
|
|
|
@@ -13609,7 +13652,7 @@ diff -urN linux-2.6.21.1/fs/yaffs2/yaffs_nandemul2k.h linux-2.6.21.1.new/fs/yaff
|
|
|
+#endif
|
|
|
diff -urN linux-2.6.21.1/fs/yaffs2/yaffs_packedtags1.c linux-2.6.21.1.new/fs/yaffs2/yaffs_packedtags1.c
|
|
|
--- linux-2.6.21.1/fs/yaffs2/yaffs_packedtags1.c 1970-01-01 01:00:00.000000000 +0100
|
|
|
-+++ linux-2.6.21.1.new/fs/yaffs2/yaffs_packedtags1.c 2007-05-30 13:17:17.000000000 +0200
|
|
|
++++ linux-2.6.21.1.new/fs/yaffs2/yaffs_packedtags1.c 2007-06-08 14:07:26.000000000 +0200
|
|
|
@@ -0,0 +1,52 @@
|
|
|
+/*
|
|
|
+ * YAFFS: Yet Another Flash File System. A NAND-flash specific file system.
|
|
|
@@ -13665,7 +13708,7 @@ diff -urN linux-2.6.21.1/fs/yaffs2/yaffs_packedtags1.c linux-2.6.21.1.new/fs/yaf
|
|
|
+}
|
|
|
diff -urN linux-2.6.21.1/fs/yaffs2/yaffs_packedtags1.h linux-2.6.21.1.new/fs/yaffs2/yaffs_packedtags1.h
|
|
|
--- linux-2.6.21.1/fs/yaffs2/yaffs_packedtags1.h 1970-01-01 01:00:00.000000000 +0100
|
|
|
-+++ linux-2.6.21.1.new/fs/yaffs2/yaffs_packedtags1.h 2007-05-30 13:17:17.000000000 +0200
|
|
|
++++ linux-2.6.21.1.new/fs/yaffs2/yaffs_packedtags1.h 2007-06-08 14:07:27.000000000 +0200
|
|
|
@@ -0,0 +1,37 @@
|
|
|
+/*
|
|
|
+ * YAFFS: Yet another Flash File System . A NAND-flash specific file system.
|
|
|
@@ -13706,7 +13749,7 @@ diff -urN linux-2.6.21.1/fs/yaffs2/yaffs_packedtags1.h linux-2.6.21.1.new/fs/yaf
|
|
|
+#endif
|
|
|
diff -urN linux-2.6.21.1/fs/yaffs2/yaffs_packedtags2.c linux-2.6.21.1.new/fs/yaffs2/yaffs_packedtags2.c
|
|
|
--- linux-2.6.21.1/fs/yaffs2/yaffs_packedtags2.c 1970-01-01 01:00:00.000000000 +0100
|
|
|
-+++ linux-2.6.21.1.new/fs/yaffs2/yaffs_packedtags2.c 2007-05-30 13:17:17.000000000 +0200
|
|
|
++++ linux-2.6.21.1.new/fs/yaffs2/yaffs_packedtags2.c 2007-06-08 14:07:27.000000000 +0200
|
|
|
@@ -0,0 +1,182 @@
|
|
|
+/*
|
|
|
+ * YAFFS: Yet Another Flash File System. A NAND-flash specific file system.
|
|
|
@@ -13892,7 +13935,7 @@ diff -urN linux-2.6.21.1/fs/yaffs2/yaffs_packedtags2.c linux-2.6.21.1.new/fs/yaf
|
|
|
+}
|
|
|
diff -urN linux-2.6.21.1/fs/yaffs2/yaffs_packedtags2.h linux-2.6.21.1.new/fs/yaffs2/yaffs_packedtags2.h
|
|
|
--- linux-2.6.21.1/fs/yaffs2/yaffs_packedtags2.h 1970-01-01 01:00:00.000000000 +0100
|
|
|
-+++ linux-2.6.21.1.new/fs/yaffs2/yaffs_packedtags2.h 2007-05-30 13:17:17.000000000 +0200
|
|
|
++++ linux-2.6.21.1.new/fs/yaffs2/yaffs_packedtags2.h 2007-06-08 14:07:27.000000000 +0200
|
|
|
@@ -0,0 +1,38 @@
|
|
|
+/*
|
|
|
+ * YAFFS: Yet another Flash File System . A NAND-flash specific file system.
|
|
|
@@ -13934,7 +13977,7 @@ diff -urN linux-2.6.21.1/fs/yaffs2/yaffs_packedtags2.h linux-2.6.21.1.new/fs/yaf
|
|
|
+#endif
|
|
|
diff -urN linux-2.6.21.1/fs/yaffs2/yaffs_qsort.c linux-2.6.21.1.new/fs/yaffs2/yaffs_qsort.c
|
|
|
--- linux-2.6.21.1/fs/yaffs2/yaffs_qsort.c 1970-01-01 01:00:00.000000000 +0100
|
|
|
-+++ linux-2.6.21.1.new/fs/yaffs2/yaffs_qsort.c 2007-05-30 13:17:17.000000000 +0200
|
|
|
++++ linux-2.6.21.1.new/fs/yaffs2/yaffs_qsort.c 2007-06-08 14:07:27.000000000 +0200
|
|
|
@@ -0,0 +1,160 @@
|
|
|
+/*
|
|
|
+ * Copyright (c) 1992, 1993
|
|
|
@@ -14098,7 +14141,7 @@ diff -urN linux-2.6.21.1/fs/yaffs2/yaffs_qsort.c linux-2.6.21.1.new/fs/yaffs2/ya
|
|
|
+}
|
|
|
diff -urN linux-2.6.21.1/fs/yaffs2/yaffs_qsort.h linux-2.6.21.1.new/fs/yaffs2/yaffs_qsort.h
|
|
|
--- linux-2.6.21.1/fs/yaffs2/yaffs_qsort.h 1970-01-01 01:00:00.000000000 +0100
|
|
|
-+++ linux-2.6.21.1.new/fs/yaffs2/yaffs_qsort.h 2007-05-30 13:17:17.000000000 +0200
|
|
|
++++ linux-2.6.21.1.new/fs/yaffs2/yaffs_qsort.h 2007-06-08 14:07:27.000000000 +0200
|
|
|
@@ -0,0 +1,23 @@
|
|
|
+/*
|
|
|
+ * YAFFS: Yet another Flash File System . A NAND-flash specific file system.
|
|
|
@@ -14125,7 +14168,7 @@ diff -urN linux-2.6.21.1/fs/yaffs2/yaffs_qsort.h linux-2.6.21.1.new/fs/yaffs2/ya
|
|
|
+#endif
|
|
|
diff -urN linux-2.6.21.1/fs/yaffs2/yaffs_tagscompat.c linux-2.6.21.1.new/fs/yaffs2/yaffs_tagscompat.c
|
|
|
--- linux-2.6.21.1/fs/yaffs2/yaffs_tagscompat.c 1970-01-01 01:00:00.000000000 +0100
|
|
|
-+++ linux-2.6.21.1.new/fs/yaffs2/yaffs_tagscompat.c 2007-05-30 13:17:17.000000000 +0200
|
|
|
++++ linux-2.6.21.1.new/fs/yaffs2/yaffs_tagscompat.c 2007-06-08 14:07:27.000000000 +0200
|
|
|
@@ -0,0 +1,530 @@
|
|
|
+/*
|
|
|
+ * YAFFS: Yet Another Flash File System. A NAND-flash specific file system.
|
|
|
@@ -14659,7 +14702,7 @@ diff -urN linux-2.6.21.1/fs/yaffs2/yaffs_tagscompat.c linux-2.6.21.1.new/fs/yaff
|
|
|
+}
|
|
|
diff -urN linux-2.6.21.1/fs/yaffs2/yaffs_tagscompat.h linux-2.6.21.1.new/fs/yaffs2/yaffs_tagscompat.h
|
|
|
--- linux-2.6.21.1/fs/yaffs2/yaffs_tagscompat.h 1970-01-01 01:00:00.000000000 +0100
|
|
|
-+++ linux-2.6.21.1.new/fs/yaffs2/yaffs_tagscompat.h 2007-05-30 13:17:17.000000000 +0200
|
|
|
++++ linux-2.6.21.1.new/fs/yaffs2/yaffs_tagscompat.h 2007-06-08 14:07:27.000000000 +0200
|
|
|
@@ -0,0 +1,40 @@
|
|
|
+/*
|
|
|
+ * YAFFS: Yet another Flash File System . A NAND-flash specific file system.
|
|
|
@@ -14703,7 +14746,7 @@ diff -urN linux-2.6.21.1/fs/yaffs2/yaffs_tagscompat.h linux-2.6.21.1.new/fs/yaff
|
|
|
+#endif
|
|
|
diff -urN linux-2.6.21.1/fs/yaffs2/yaffs_tagsvalidity.c linux-2.6.21.1.new/fs/yaffs2/yaffs_tagsvalidity.c
|
|
|
--- linux-2.6.21.1/fs/yaffs2/yaffs_tagsvalidity.c 1970-01-01 01:00:00.000000000 +0100
|
|
|
-+++ linux-2.6.21.1.new/fs/yaffs2/yaffs_tagsvalidity.c 2007-05-30 13:17:17.000000000 +0200
|
|
|
++++ linux-2.6.21.1.new/fs/yaffs2/yaffs_tagsvalidity.c 2007-06-08 14:07:27.000000000 +0200
|
|
|
@@ -0,0 +1,28 @@
|
|
|
+/*
|
|
|
+ * YAFFS: Yet Another Flash File System. A NAND-flash specific file system.
|
|
|
@@ -14735,7 +14778,7 @@ diff -urN linux-2.6.21.1/fs/yaffs2/yaffs_tagsvalidity.c linux-2.6.21.1.new/fs/ya
|
|
|
+}
|
|
|
diff -urN linux-2.6.21.1/fs/yaffs2/yaffs_tagsvalidity.h linux-2.6.21.1.new/fs/yaffs2/yaffs_tagsvalidity.h
|
|
|
--- linux-2.6.21.1/fs/yaffs2/yaffs_tagsvalidity.h 1970-01-01 01:00:00.000000000 +0100
|
|
|
-+++ linux-2.6.21.1.new/fs/yaffs2/yaffs_tagsvalidity.h 2007-05-30 13:17:17.000000000 +0200
|
|
|
++++ linux-2.6.21.1.new/fs/yaffs2/yaffs_tagsvalidity.h 2007-06-08 14:07:27.000000000 +0200
|
|
|
@@ -0,0 +1,24 @@
|
|
|
+/*
|
|
|
+ * YAFFS: Yet another Flash File System . A NAND-flash specific file system.
|
|
|
@@ -14763,7 +14806,7 @@ diff -urN linux-2.6.21.1/fs/yaffs2/yaffs_tagsvalidity.h linux-2.6.21.1.new/fs/ya
|
|
|
+#endif
|
|
|
diff -urN linux-2.6.21.1/fs/yaffs2/yaffsinterface.h linux-2.6.21.1.new/fs/yaffs2/yaffsinterface.h
|
|
|
--- linux-2.6.21.1/fs/yaffs2/yaffsinterface.h 1970-01-01 01:00:00.000000000 +0100
|
|
|
-+++ linux-2.6.21.1.new/fs/yaffs2/yaffsinterface.h 2007-05-30 13:17:16.000000000 +0200
|
|
|
++++ linux-2.6.21.1.new/fs/yaffs2/yaffsinterface.h 2007-06-08 14:07:26.000000000 +0200
|
|
|
@@ -0,0 +1,21 @@
|
|
|
+/*
|
|
|
+ * YAFFS: Yet another Flash File System . A NAND-flash specific file system.
|
|
|
@@ -14788,7 +14831,7 @@ diff -urN linux-2.6.21.1/fs/yaffs2/yaffsinterface.h linux-2.6.21.1.new/fs/yaffs2
|
|
|
+#endif
|
|
|
diff -urN linux-2.6.21.1/fs/yaffs2/yportenv.h linux-2.6.21.1.new/fs/yaffs2/yportenv.h
|
|
|
--- linux-2.6.21.1/fs/yaffs2/yportenv.h 1970-01-01 01:00:00.000000000 +0100
|
|
|
-+++ linux-2.6.21.1.new/fs/yaffs2/yportenv.h 2007-05-30 13:17:17.000000000 +0200
|
|
|
++++ linux-2.6.21.1.new/fs/yaffs2/yportenv.h 2007-06-08 14:07:27.000000000 +0200
|
|
|
@@ -0,0 +1,186 @@
|
|
|
+/*
|
|
|
+ * YAFFS: Yet another Flash File System . A NAND-flash specific file system.
|
|
|
@@ -14976,20 +15019,3 @@ diff -urN linux-2.6.21.1/fs/yaffs2/yportenv.h linux-2.6.21.1.new/fs/yaffs2/yport
|
|
|
+#endif
|
|
|
+
|
|
|
+#endif
|
|
|
---- linux-2.6.21.1/fs/Makefile 2007-05-30 13:16:21.000000000 +0200
|
|
|
-+++ linux-2.6.21.1.new/fs/Makefile 2007-05-30 13:27:34.000000000 +0200
|
|
|
-@@ -116,3 +116,4 @@
|
|
|
- obj-$(CONFIG_DEBUG_FS) += debugfs/
|
|
|
- obj-$(CONFIG_OCFS2_FS) += ocfs2/
|
|
|
- obj-$(CONFIG_GFS2_FS) += gfs2/
|
|
|
-+obj-$(CONFIG_YAFFS_FS) += yaffs2/
|
|
|
---- linux-2.6.21.1/fs/Kconfig 2007-05-30 13:16:21.000000000 +0200
|
|
|
-+++ linux-2.6.21.1.new/fs/Kconfig 2007-05-30 13:29:14.000000000 +0200
|
|
|
-@@ -419,6 +419,7 @@
|
|
|
-
|
|
|
- source "fs/xfs/Kconfig"
|
|
|
- source "fs/gfs2/Kconfig"
|
|
|
-+source "fs/yaffs2/Kconfig"
|
|
|
-
|
|
|
- config OCFS2_FS
|
|
|
- tristate "OCFS2 file system support"
|