LWN.net Logo

Next-generation Linux file systems: NiLFS(2) and exofs (developerWorks)

Next-generation Linux file systems: NiLFS(2) and exofs (developerWorks)

Posted Nov 15, 2009 16:44 UTC (Sun) by anton (subscriber, #25547)
In reply to: Next-generation Linux file systems: NiLFS(2) and exofs (developerWorks) by johnflux
Parent article: Next-generation Linux file systems: NiLFS(2) and exofs (developerWorks)

1) Stuff written between checkpoints can be arranged for fast reading. So if the files are written completely between two checkpoints, there is no need to interleave them. If the files are both written across many checkpoints, they will be fragmented unless some other optimization is made.

2) If you keep all checkpoints, the log does not wrap. When you reach the end of the disk, you are out of space. OTOH, if you only keep some checkpoints, some space is likely to become free. The classical solution in log-structured file systems was to have a cleaner that collects all the live data from a segment and copies it to another segment; the cleaner could also be used to defragment files that were fragmented across multiple checkpoints.

My impression is that classical log-structured file systems failed to become popular because of the cleaner. One claimed advantage of LFSs was writing speed, but clustering sped up traditional file systems, and the cleaner reduced the writing speed of LFSs substantially in the usual case (mostly-full disks). Nowadays copy-on-write filesystems combine the copy-on-write benefits of classical LFSs with the free-block-based disk allocation of clustered file systems and its advantages: no need for a cleaner and ways to avoid fragmentation in most of the usual cases.


(Log in to post comments)

Copyright © 2012, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds