Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 21 Sep 2000 07:52:34 -0400 (EDT)
From:      Christopher Stein <stein@eecs.harvard.edu>
To:        Dwight Tuinstra <tuinstra@clarkson.edu>
Cc:        freebsd-fs <freebsd-fs@FreeBSD.ORG>
Subject:   Re: Journaling Filesystems in bsd?  (LFS, anyone?)
Message-ID:  <Pine.BSF.4.21.0009210738440.11353-100000@orvieto.eecs.harvard.edu>
In-Reply-To: <39CA26D7.51D314BF@clarkson.edu>

next in thread | previous in thread | raw e-mail | index | archive | help

> I'm interested in porting an alternative file system to FreeBSD.
> 
> As a long-term graduate research project, I've been looking into 
> the code for LFS (Log-structured File System) on NetBSD.  Such a
> system is optimized for many small writes, and given the amounts
> of RAM available for read caches nowadays, should deliver read
> performance comparable (or not much worse) than FFS.  Additionally,
> LFS should provide better and faster crash recovery than either FFS
> or journaling file systems.

What is "better" crash recovery? I would expect journaling recovery to
be faster than LFS recovery.

> In a nutshell, the difference between journaling file systems
> and LFSes is that jFSes keep a log of metadata, whereas an LFS
> keeps metadata AND data in a unified log structure (and yes, this
> means playing lots of tricks with how inodes are located and found).

Log-structured file systems offer different semantics than
synchronous journaling file systems. Synchronous journaling can
offer the traditional durability of create. Nothing is durable
in LFS until the segment reaches stable. Dependencies are maintained,
as they are with synchronous UFS, journaling, and soft updates,
but without providing durability semantics. Async journaling and
soft updates sacrifice this as LFS does. Interestingly, sync
journaling is able to maintain it while improving in performance
over sync UFS across a large set of workloads (every one I've ever
run).

Also, the fsync behaviour of transactional workloads and
programs like Senmail is highly problematic for LFS. These
require durability and will force the segment, potentially when
it is not very full.

I suggest you look at the work by Seltzer and Smith comparing
UFS clustering and LFS.

> 
> At present, the only working, available LFS system (that I'm aware 
> of) for a freeNIX is the one in NetBSD, though there are at least two 
> efforts underway for Linux.  There is an order of magnitude
> improvement in the write times for their "pkgsrc" directory
> (equivalent to the FreeBSD "ports" directory) when comparing
> FFS to LFS.  The NetBSD LFS code is still beta, but in pretty good
> working order.

Does the cleaner work? (always the first question to ask when people
talk about their LFS implementations).

You may want to contact Dan Ellard (ellard@eecs.harvard.edu). He is
currently doing some BSD LFS work.

-Chris



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-fs" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.21.0009210738440.11353-100000>