dmmiller at cvzoom.net
Fri Feb 13 03:05:51 PST 2004
Tom Arnold wrote:
> Are there any Journaling FS projects ongoing for FreeBSD that arn't on the
> general radar?
> UFS2/Softupdates isnt working out for us so unfortunatly we are getting a
> lot of push to start using the L word with ReiserFS&Friends.
Not really. There is an ongoing port of XFS. Check the status report.
As for UFS+softupdates, softupdates obviates (according to theory,
anyways) the need for journalling. But I was wondering myself if there
was some way of using softupdates and journalling together. For
example, there could be some way of logging what softupdates is doing
exactly so that background fsck can have better hints of which part of
the filesystem needs fscked, if any. For example, there could be some
"hints" stored in a journal and log that softupdates allocated a data
block, but no inode was written. So fsck would know to de-allocate that
particular data block, and know exactly where it is from the hints
stored in the log so fsck could finish faster. But this sounds like how
the typical journalling filesystem works in the first place.
I did take a look at some ReiserFS code. I proceeded to do some very
quick preliminary research. The first things I noted are the
differences of Linux's kmalloc() vs. FreeBSD's malloc(9). Linux's
kmalloc() seems to be tied down to its slab allocator, and it
incorporates the filesystem buffer cache whereas FreeBSD's malloc(9)
doesn't. This would be the first obstacle in porting ReiserFS to
FreeBSD, as ReiserFS does call kmalloc a fair bit, and in addition,
malloc(9) takes 3 arguments compared to kmalloc's 2.
I'll have to take another look at kmalloc, malloc(9), and the ReiserFS
code, because I'm sure I'm way off the mark. :-)
More information about the freebsd-fs