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)