[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
JFFS2 Request For Testing.
I've got JFFS2 to the stage where it's passing dbench runs and the GC looks
reasonably OK. The design is basically the result of the discussion we were
having a few weeks ago (on the jffs-dev list) - I don't think anything's
particularly different from what we were talking about.
Please take a look and comment, and preferably test it. Instructions on
getting it from CVS are on http://www.linux-mtd.infradead.org/ and it'll
turn up in ftp.uk.linux.org:/pub/people/dwmw2/mtd/cvs at about 11pm tonight.
For easy testing on a PC, turn on CONFIG_MTD_MTDRAM and test it on ram,
instead of real flash.
There's free beer for the first person who tells me why I need the
invalidate_inode_pages() in jffs2_file_release() when no other filesystem
seems to need it, or why it sometimes gets stuck on unmount, in
__wait_on_page() called from invalidate_inodes(). I suspect they're
related, and it's a stupid bug on my part.
There's also a free beer for whoever provides mkfs.jffs2.
Aside from the bugs, there's a few things left to tidy up...
- background GC
- fine-tune the allocation / GC thresholds
- More optimal compression. Currently it's optimised for mips32 code.
- chattr support - turning on/off and tuning compression per-inode
- making the scan code populate real inodes so read_inode just after
mount doesn't have to read the flash twice for large files.
- disable compression in commit_write()?
- stop it depending on a block device. mount(8) needs a change for this.
- test, test, test
- make it work on NAND flash. We need to know when we can GC
deletion dirents, etc. And think about holes/truncation. It can
all be done reasonably simply, but it need implementing.
- NAND flash will require new dirent/dnode structures on the medium with
ECC data in rather than just the CRC we're using ATM.
To unsubscribe from this list: send the line "unsubscribe jffs-dev" in
the body of a message to firstname.lastname@example.org