“Generally, file systems are not considered ‘sexy’. When a young programmer wants to do something really cool, his or her first thought is generally not ‘dude, two words… File system’. However, I am what is politely termed ‘different’. I find file systems very interesting and they have seldom been more so than they are right now. Hans Reiser is working on getting Reiser4 integrated into the Linux kernel, the BSDs are working on getting a journaled file system together, and Sun Microsystems just recently released a beta of ZFS into OpenSolaris. This is an excellent time to be me. This article will be on file system design and specifically the new file systems that are just appearing. We will start with the basics, UFS/FFS, and then proceed to our first modern file system, XFS.
Does BSD have a journalized FS? From the blurb, it doesn’t sound like it, and the article doesn’t go in to any more detail.
Although journaling has become somewhat of a buzzword, there’s more than one way to keep your metadata consistent. *BSD has a feature called soft updates instead of journaling.
“Although journaling has become somewhat of a buzzword, there’s more than one way to keep your metadata consistent. *BSD has a feature called soft updates instead of journaling.”
Some journaling filesystems, such as ext3, can journal data as well as metadata. I don’t believe that’s the case with soft updates.
“Does BSD have a journalized FS?”
Some do. Darwin has the type of journaling you’re thinking of but supposedly works on all supported filesystem types, DragonFly has a type of journalling that is rather different (works on all filesystem types IIRC, and is intended to be streamed realtime to another server for backup). FreeBSD and NetBSD are working on their own journaling filesystems as well.
http://developer.apple.com/documentation/MacOSX/Conceptual/OSX_Tech…
http://www.osnews.com/story.php?news_id=11101
Edited 2006-01-26 00:56
As was pointed out on Slashdot, this isn’t a very good article. If you’re really interested in filesystem internals, try consulting a filesystem programmer:
http://www.nobius.org/~dbg/