1da177e4c3
Initial git repository build. I'm not bothering with the full history, even though we have it. We can create a separate "historical" git archive of that later if we want to, and in the meantime it's about 3.2GB when imported into git - space that would just make the early git days unnecessarily complicated, when we don't have a lot of good infrastructure for it. Let it rip!
40 lines
2.1 KiB
Text
40 lines
2.1 KiB
Text
$Id: TODO,v 1.10 2002/09/09 16:31:21 dwmw2 Exp $
|
|
|
|
- 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:
|
|
- flush_wbuf using GC to fill it, don't just pad.
|
|
- Deal with write errors. Data don't get lost - we just have to write
|
|
the affected node(s) out again somewhere else.
|
|
- make fsync flush only if actually required
|
|
- make sys_sync() work.
|
|
- reboot notifier
|
|
- timed flush of old wbuf
|
|
- fix magical second arg of jffs2_flush_wbuf(). Split into two or more functions instead.
|
|
|
|
|
|
- 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.)
|
|
- 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.
|