New Linux Filesystem: NILFS

From: Chris Browne <cbbrowne(at)acm(dot)org>
To: pgsql-hackers(at)postgresql(dot)org
Subject: New Linux Filesystem: NILFS
Date: 2006-09-05 22:24:28
Message-ID: 60fyf6vtnn.fsf_-_@dba2.int.libertyrms.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Recently seen in ACM Operating Systems Review (this is the first time
I've found as many as 1 interesting article in it in a while, and
there were 3 things I found worthwhile...):

NTT (of the recent "NTT Power Hour") have created a new filesystem:
<http://www.nilfs.org/en/>

NILFS is a log-structured file system developed for Linux.

In effect, it provides the "moral equivalent" to MVCC for filesystems;
overwrites are equivalent to delete/insert, and requires a "Cleaner"
process in order to clean out formerly-used space.

It ought to have two merits over journalling filesystems:

1. It doesn't need to write data twice, which should improve
performance

2. It doesn't need to repetitively overwrite metadata, which should
improve crash safety.

On the latter, per the paper:

"... These journaling filesystems enable fast and consistent recovery
of the file system after unexpected system freezes or power
failures. However, they still allow the fatal destruction of the file
system due to the characteristic that recovery is realized by
overwriting meta data with their copies saved in a journal file. This
recovery is guaranteed to work properly only if the write order of the
on-disk data blocks and meta data blocks is physically conserved on
the disk platters. Unfortunately, this constraint is often violated by
the write optimizations performed by the block I/O subsystem and disk
controllers."

It's still at a somewhat early stage, as they haven't completed coding
the Cleaner. (Probably should call it the Reaper... :-))

By the way, the Google SOC 2005 also produced one:
<http://logfs.sourceforge.net/>

NetBSD used to have a LFS; has that gone anywhere? Or been
essentially dropped?
--
let name="cbbrowne" and tld="cbbrowne.com" in String.concat "@" [name;tld];;
http://linuxdatabases.info/info/emacs.html
"I develop for Linux for a living, I used to develop for DOS. Going
from DOS to Linux is like trading a glider for an F117."
-- <entropy(at)world(dot)std(dot)com> Lawrence Foard

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Joshua D. Drake 2006-09-05 22:25:04 Re: Win32 hard crash problem
Previous Message Alvaro Herrera 2006-09-05 22:21:12 Re: Win32 hard crash problem