mtd/fs/jffs2 TODO,1.13,1.14

David Woodhouse dwmw2 at infradead.org
Mon Oct 6 10:49:11 EDT 2003


Update of /home/cvs/mtd/fs/jffs2
In directory phoenix.infradead.org:/tmp/cvs-serv21019

Modified Files:
	TODO 
Log Message:
More TODO update


Index: TODO
===================================================================
RCS file: /home/cvs/mtd/fs/jffs2/TODO,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -r1.13 -r1.14
--- TODO	3 Oct 2003 17:13:41 -0000	1.13
+++ TODO	6 Oct 2003 14:49:08 -0000	1.14
@@ -14,15 +14,11 @@
 	- done :)
 
  - Optimisations:
-   - Stop GC from decompressing and immediately recompressing nodes which could
-     just be copied intact. (We now keep track of REF_PRISTINE flag. Easy now.)
-   - Furthermore, in the case where it could be copied intact we don't even need
-     to call iget() for it -- if we use (raw_node_raw->flash_offset & 2) as a flag
-     to show a node can be copied intact and it's _not_ in icache, we could just do
-     it, fix up the next_in_ino list and move on. We would need a way to find out
-     _whether_ it's in icache though -- if it's in icache we also need to do the 
-     fragment lists, etc. P'raps a flag or pointer in the jffs2_inode_cache could
-     help. (We have half of this now.)
+   - Split writes so they go to two separate blocks rather than just c->nextblock.
+	By writing _new_ nodes to one block, and garbage-collected REF_PRISTINE
+	nodes to a different one, we can separate clean nodes from those which
+	are likely to become dirty, and end up with blocks which have are far
+	closer to 100% or 0% clean, hence speeding up later GC progress dramatically.
    - Stop keeping name in-core with struct jffs2_full_dirent. If we keep the hash in 
      the full dirent, we only need to go to the flash in lookup() when we think we've
      got a match, and in readdir(). 




More information about the linux-mtd-cvs mailing list