eCos jffs2 garbage collection thread + fix

Andrew Lunn andrew@lunn.ch
Sat Dec 11 12:26:00 GMT 2004


> The multi thread access of jffs2 works much more stable with the change to
> CYG_SYNCMODE_IO_FILESYSTEM. The change seams to be important for all eCos
> jffs2 users. 

OK. Attached is the patch i committed to both eCos and the MTD master
repository.

        Andrew

-------------- next part --------------
Index: fs/jffs2/current/ChangeLog
===================================================================
RCS file: /cvs/ecos/ecos/packages/fs/jffs2/current/ChangeLog,v
retrieving revision 1.40
diff -u -r1.40 ChangeLog
--- fs/jffs2/current/ChangeLog	12 Nov 2004 16:50:29 -0000	1.40
+++ fs/jffs2/current/ChangeLog	11 Dec 2004 12:20:29 -0000
@@ -1,3 +1,9 @@
+2004-12-10  Per Hedblom  <per.hedblom@abem.se>
+
+	* src/fs-ecos.c: Use filesystem locking not file locking otherwise
+	the node cache can be corrupted by multiple operations on
+	different files at the same time.
+
 2004-11-11  Andrew Lunn <andrew.lunn@ascom.ch>
 
 	* Merge from public MTD.
@@ -91,12 +97,12 @@
        * src/fs-ecos.c:
        Make JFFS2 honor O_TRUNC flag when opening files /w read access.
 
-2004-02-17  David Woodhouse  <dwmw2@redhat.com>
+2004-02-17  David Woodhouse  <dwmw2@infradead.org>
 
 	* src/fs-ecos.c:
 	Don't re-initialise the already-locked f->sem. It makes eCos unhappy. 
 
-2004-01-27  David Woodhouse  <dwmw2@redhat.com>
+2004-01-27  David Woodhouse  <dwmw2@infradead.org>
 
 	* src/write.c: 
 	Fix bug noted by Howard Gray; dirents belong to, and should dirty, 
@@ -112,7 +118,7 @@
 	* cdl/jffs2.cdl: Re-added CYGPKG_FS_JFFS2_CFLAGS_REMOVE that had been
 	removed by previous change.
 	
-2003-11-26  David Woodhouse  <dwmw2@redhat.com>
+2003-11-26  David Woodhouse  <dwmw2@infradead.org>
 
 	JFFS2 cleanup and import of newer code. Remove last vestiges of
 	Linuxisms such as 'struct inode' from the core code, leaving eCos
Index: fs/jffs2/current/src/fs-ecos.c
===================================================================
RCS file: /cvs/ecos/ecos/packages/fs/jffs2/current/src/fs-ecos.c,v
retrieving revision 1.32
diff -u -r1.32 fs-ecos.c
--- fs/jffs2/current/src/fs-ecos.c	12 Nov 2004 16:50:33 -0000	1.32
+++ fs/jffs2/current/src/fs-ecos.c	11 Dec 2004 12:20:31 -0000
@@ -97,7 +97,7 @@
 
 #ifdef CYGOPT_FS_JFFS2_WRITE
 FSTAB_ENTRY(jffs2_fste, "jffs2", 0,
-	    CYG_SYNCMODE_FILE_FILESYSTEM | CYG_SYNCMODE_IO_FILE,
+	    CYG_SYNCMODE_FILE_FILESYSTEM | CYG_SYNCMODE_IO_FILESYSTEM,
 	    jffs2_mount,
 	    jffs2_umount,
 	    jffs2_open,
@@ -110,7 +110,7 @@
 	    jffs2_chdir, jffs2_stat, jffs2_getinfo, jffs2_setinfo);
 #else
 FSTAB_ENTRY(jffs2_fste, "jffs2", 0,
-	    CYG_SYNCMODE_FILE_FILESYSTEM | CYG_SYNCMODE_IO_FILE,
+	    CYG_SYNCMODE_FILE_FILESYSTEM | CYG_SYNCMODE_IO_FILESYSTEM,
 	    jffs2_mount,
 	    jffs2_umount,
 	    jffs2_open,


More information about the Ecos-patches mailing list