What is it about?
LogFS is a scalable flash filesystem. It is aimed to replace JFFS2 for most uses, but focuses more on large devices. JFFS2 works well enough on small devices, it just gets slow and uses up too much memory on larger ones.
News
6.4.09
Moin moin!
This list has been silent for a while. I've been asked a couple of times whether I was still working on logfs and what its state was. The first answer is yes and the second is getting better. For the last year or so I have changed the format in more ways than I easily remember. That phase is over. Mostly. I plan to change the magic number just to make sure no old images will ever work with current code. But that will be it.
Quality-wise logfs is getting better as well. While constantly mangling the format I could pretty much find the bugs myself - sometimes all too easily. By now it is getting harder. Hard enough that I would appreciate others to try and find bugs for me.
At least one bug remains that is relatively easy to hit, but surprisingly hard to reproduce consistently. The effects change from run to run, usually hitting either a CRC mismatch or an (INO, BIX) mismatch. If someone has a stable testcase that reliably triggers the same effect at the same time on every run - or even on every tenth run - I would love to replicate that.
Current code can be found here:
http://logfs.org/git?p=logfs;a=summary
http://logfs.org/git?p=logfsprogs/.git;a=summary
Jörn
PS: After ELC (http://www.embeddedlinuxconference.com) I will spend two weeks of vacation in California, so I may not be able to respond quickly.
5.3.08
The "Zombie" problem should be fixed by now. About 12% of the total code had to be changed:
12 files changed, 831 insertions(+), 973 deletions(-)
Most of the work was done by end of January, but the result was quite shaky. During my vacation in Thailand I continued to fix about one bug per day and by now things are nearly useable. One memory leak is remaining. And under low memory conditions, the linux VM can trigger a deadlock when passing a locked page to the writepage() address_space operation. Incidentally the same deadlock problem exists for GFS2 and possibly with Ext3 in data=ordered mode, so we are in good company. Nevertheless both these problems need attention.
Did everyone notice the irony of having a memory leak and a deadlock that triggers in low memory conditions?
7.3.08
People have been asking for a mailing list. Here it is.
Misc
The name LogFS was chosen for several reasons:
- JFFS2, the Journaling flash filesystem 2 is actually a log-structured filesystem. LogFS is a journaling filesystem, so its name has to hide this fact to continue a tradition.
- LogFS can actually be pronounced. Have a friend try to pronounce JFFS2 and watch their facial expression.
- During development, LogFS actually turned out to be log-structured as well. So much for the tradition.
- The filesystem should scale logarithmically in all relevant areas. In some areas reality doesn't match the goal yet, though.
- Quite frankly, none could come up with a better name yet. Suggestions are welcome.
For information about LogFS you can try:
The old introductory paper
Contacting joern@lazybastard.org
- Lurking on IRC (#logfs on irc.oftc.net)
More (usually scarce) information can be found:
http://logfs.sourceforge.net - the other logfs, done for the google summer of code. Pradeep Padala started his project after I started mine, but registered the sourceforge page first. He seems to have stopped development at the moment.
http://www.linux-mtd.infradead.org/doc/logfs.html - nothing much to see here.
http://wiki.laptop.org/go/Logfs - this advertises several non-existent features, so don't take it too seriously. On the other hand, most of them will get implemented over time.
mel8-712.ogg, mel8-712.spx and data_structures.pdf: a presentation about efficient data structures.