Subject: Re: Journaling for FFS
To: M J Fleming <>
From: Bill Studenmund <>
List: tech-kern
Date: 10/01/2006 23:08:09
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

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=20
> journaling support to FFS wasn't successful, however I feel that the proj=
> is worthwhile and would love to see it come to fruition.
> What are the issues with licensing with regard to using a compatible on-d=
> format to Solaris' UFS, which is the idea mentioned at=20
> ?

There should be no issues with licensing with regard to the on-disk=20
format. Licensing would arise if there were either patent or copyright=20
issues involved. I am aware of no patent issues, and the only way=20
copyright issues would arise is from use of material that has a Sun=20
copyright (or someone else's).

That said, I think it's simpler to go with a physical-block journal. Get=20
Dominic Giampaolo's book ("Practical File System Design with the Be File=20
System") and it's well-discussed.

The one thing we'd have issues with will have issues with a logical=20
journal as well, and that's handling unlinked-but-active inodes.

You need two things for a journaling file system addition: 1) you need=20
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=20
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=20
helpful as you completely DON'T need the dependency stuff in softdeps,=20
which may make it all confusing.

Take care,


Content-Type: application/pgp-signature
Content-Disposition: inline

Version: GnuPG v1.4.3 (NetBSD)