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