1
$Id: TODO,v 1.3 2001/03/01 23:26:48 dwmw2 Exp $
1
$Id: TODO,v 1.17 2004/04/14 20:11:38 gleixner Exp $
3
- disable compression in commit_write()? Or at least optimise the 'always write
5
- fix zlib. It's ugly as hell and there are at least three copies in the kernel tree
3
- support asynchronous operation -- add a per-fs 'reserved_space' count,
4
let each outstanding write reserve the _maximum_ amount of physical
5
space it could take. Let GC flush the outstanding writes because the
6
reservations will necessarily be pessimistic. With this we could even
7
do shared writable mmap, if we can have a fs hook for do_wp_page() to
9
- disable compression in commit_write()?
6
10
- fine-tune the allocation / GC thresholds
7
11
- chattr support - turning on/off and tuning compression per-inode
8
12
- checkpointing (do we need this? scan is quite fast)
10
14
mount doesn't have to read the flash twice for large files.
11
15
Make this a per-inode option, changable with chattr, so you can
12
16
decide which inodes should be in-core immediately after mount.
13
- stop it depending on a block device. mount(8) needs a change for this.
14
- make it work on NAND flash. We need to know when we can GC
15
deletion dirents, etc. And think about holes/truncation. It can
16
all be done reasonably simply, but it need implementing.
17
- NAND flash will require new dirent/dnode structures on the medium with
18
ECC data in rather than just the CRC we're using ATM.
21
- use bad block check instead of the hardwired byte check
24
- Split writes so they go to two separate blocks rather than just c->nextblock.
25
By writing _new_ nodes to one block, and garbage-collected REF_PRISTINE
26
nodes to a different one, we can separate clean nodes from those which
27
are likely to become dirty, and end up with blocks which are each far
28
closer to 100% or 0% clean, hence speeding up later GC progress dramatically.
29
- Stop keeping name in-core with struct jffs2_full_dirent. If we keep the hash in
30
the full dirent, we only need to go to the flash in lookup() when we think we've
31
got a match, and in readdir().
32
- Doubly-linked next_in_ino list to allow us to free obsoleted raw_node_refs immediately?
33
- Remove totlen from jffs2_raw_node_ref? Need to have totlen passed into
34
jffs2_mark_node_obsolete(). Can all callers work it out?
35
- Remove size from jffs2_raw_node_frag.