$Id: TODO,v 1.18 2005/09/22 11:24:56 dedekind Exp $

 - support asynchronous operation -- add a per-fs 'reserved_space' count,
   let each outstanding write reserve the _maximum_ amount of physical
   space it could take. Let GC flush the outstanding writes because the
   reservations will necessarily be pessimistic. With this we could even
   do shared writable mmap, if we can have a fs hook for do_wp_page() to
   make the reservation.
 - disable compression in commit_write()?
 - fine-tune the allocation / GC thresholds
 - chattr support - turning on/off and tuning compression per-inode
 - checkpointing (do we need this? scan is quite fast)
 - make the scan code populate real inodes so read_inode just after 
	mount doesn't have to read the flash twice for large files.
	Make this a per-inode option, changable with chattr, so you can
	decide which inodes should be in-core immediately after mount.
 - test, test, test

 - NAND flash support:
	- almost done :)
	- use bad block check instead of the hardwired byte check

 - Optimisations:
   - 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 are each 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(). 
   - Doubly-linked next_in_ino list to allow us to free obsoleted raw_node_refs immediately?
   - Remove totlen from jffs2_raw_node_ref? Need to have totlen passed into
	jffs2_mark_node_obsolete(). Can all callers work it out?
   - Remove size from jffs2_raw_node_frag. 

dedekind:
1. __jffs2_flush_wbuf() has a strange 'pad' parameter. Eliminate.
2. get_sb()->build_fs()->scan() path... Why get_sb() removes scan()'s crap in
   case of failure? scan() does not clean everything. Fix.
