Subject: Re: Journaling for FFS
To: Bill Studenmund <wrstuden@netbsd.org>
From: M J Fleming <scs5mjf@comp.leeds.ac.uk>
List: tech-kern
Date: 10/02/2006 11:38:16
On Sun, Oct 01, 2006 at 11:08:09PM -0700, Bill Studenmund wrote:
> On Sun, Oct 01, 2006 at 11:38:43PM +0100, M J Fleming wrote:
> > I understand that this year's Google Summer of Code project to provide 
> > journaling support to FFS wasn't successful, however I feel that the project
> > is worthwhile and would love to see it come to fruition.
> > 
> > What are the issues with licensing with regard to using a compatible on-disk
> > format to Solaris' UFS, which is the idea mentioned at 
> > http://www.netbsd.org/contrib/projects.html#j-ffs ?
> 
> There should be no issues with licensing with regard to the on-disk 
> format. Licensing would arise if there were either patent or copyright 
> issues involved. I am aware of no patent issues, and the only way 
> copyright issues would arise is from use of material that has a Sun 
> copyright (or someone else's).
> 
> That said, I think it's simpler to go with a physical-block journal. Get 
> Dominic Giampaolo's book ("Practical File System Design with the Be File 
> System") and it's well-discussed.
> 
> The one thing we'd have issues with will have issues with a logical 
> journal as well, and that's handling unlinked-but-active inodes.
> 
> You need two things for a journaling file system addition: 1) you need 
> code to do the journal transactions. Giampaolo's book will give you that, 
> at least as an overview. 2) You will need to look at all metadata writes 
> and figure out how to journal them (you'll need this either way). i.e. how 
> to inject transactions into the journal. Softdeps can be somewhat helpful 
> here as it too will identify metadata update points, though it's only so 
> helpful as you completely DON'T need the dependency stuff in softdeps, 
> which may make it all confusing.
> 
> Take care,
> 
> Bill