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>