TODO 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. $Id: TODO,v 1.10 2002/09/09 16:31:21 dwmw2 Exp $
  2. - disable compression in commit_write()?
  3. - fine-tune the allocation / GC thresholds
  4. - chattr support - turning on/off and tuning compression per-inode
  5. - checkpointing (do we need this? scan is quite fast)
  6. - make the scan code populate real inodes so read_inode just after
  7. mount doesn't have to read the flash twice for large files.
  8. Make this a per-inode option, changable with chattr, so you can
  9. decide which inodes should be in-core immediately after mount.
  10. - test, test, test
  11. - NAND flash support:
  12. - flush_wbuf using GC to fill it, don't just pad.
  13. - Deal with write errors. Data don't get lost - we just have to write
  14. the affected node(s) out again somewhere else.
  15. - make fsync flush only if actually required
  16. - make sys_sync() work.
  17. - reboot notifier
  18. - timed flush of old wbuf
  19. - fix magical second arg of jffs2_flush_wbuf(). Split into two or more functions instead.
  20. - Optimisations:
  21. - Stop GC from decompressing and immediately recompressing nodes which could
  22. just be copied intact. (We now keep track of REF_PRISTINE flag. Easy now.)
  23. - Furthermore, in the case where it could be copied intact we don't even need
  24. to call iget() for it -- if we use (raw_node_raw->flash_offset & 2) as a flag
  25. to show a node can be copied intact and it's _not_ in icache, we could just do
  26. it, fix up the next_in_ino list and move on. We would need a way to find out
  27. _whether_ it's in icache though -- if it's in icache we also need to do the
  28. fragment lists, etc. P'raps a flag or pointer in the jffs2_inode_cache could
  29. help. (We have half of this now.)
  30. - Stop keeping name in-core with struct jffs2_full_dirent. If we keep the hash in
  31. the full dirent, we only need to go to the flash in lookup() when we think we've
  32. got a match, and in readdir().
  33. - Doubly-linked next_in_ino list to allow us to free obsoleted raw_node_refs immediately?
  34. - Remove totlen from jffs2_raw_node_ref? Need to have totlen passed into
  35. jffs2_mark_node_obsolete(). Can all callers work it out?
  36. - Remove size from jffs2_raw_node_frag.