Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 13 Feb 2004 06:05:39 -0500
From:      Donn Miller <dmmiller@cvzoom.net>
To:        Tom Arnold <xyzzy@sysabend.org>
Cc:        freebsd-fs@freebsd.org
Subject:   Re: Upcoming filesystems?
Message-ID:  <402CAF83.2000201@cvzoom.net>
In-Reply-To: <c0h3rm$2d84$1@FreeBSD.csie.NCTU.edu.tw>
References:  <c0h3rm$2d84$1@FreeBSD.csie.NCTU.edu.tw>

next in thread | previous in thread | raw e-mail | index | archive | help
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. :-)



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?402CAF83.2000201>