Subject: Re: CVS commit: src/sys/fs/union
To: YAMAMOTO Takashi <yamt@mwd.biglobe.ne.jp>
From: Bill Studenmund <wrstuden@netbsd.org>
List: source-changes
Date: 05/30/2004 19:22:14
--yVhtmJPUSI46BTXb
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Sun, May 30, 2004 at 03:59:03PM +0900, YAMAMOTO Takashi wrote:
> hi,
>=20
> > Module Name:	src
> > Committed By:	wrstuden
> > Date:		Sat May 29 23:49:32 UTC 2004
> >=20
> > Modified Files:
> > 	src/sys/fs/union: union_vfsops.c
> >=20
> > Log Message:
> > unionfs can use layerfs_snapshot() too.
>=20
> "file-system union" doesn't pull in layer_vfsops.c.
> and you need to include layer_extern.h.

Thank you and Kimmo for noting this to me. I've since reverted the change=
=20
as I remembered that layerfs won't work with unionfs - layerfs requires a=
=20
common structure for the vnodes which unionfs doesn't (and shoudn't) use.

> although i doubt the benefit to use layerfs_snapshot here.
> (the concept "snapshot through layered filesystem" isn't clear to me.)

I think the concept of a "snapshot through layered file system" depends=20
both on the underlying file system and the layer. Say it's a layered file=
=20
system that provides snapshotting. ;-)

More specifically, given our current fss and ffs, "snapshot through
layered file system" could mean one of two practical things. One, say
you're using an overlay-class layer. You _have_ to go through the layered
file system to get at the underlying ffs, so a functioning
layerfs_snapshot() would permit using the two together. Two, say you have
some sort of chroot environment that you null-mount a file system into,
and you don't mind making snapshots in there. I'm not quite sure why you=20
would want to permit snapshotting in a chroot, but people have done=20
stranger things.

Note that for now layerfs_snapshot() serves as an error-returning routine=
=20
that comments why snapshots won't work through a layered file system.

Take care,

Bill

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

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.3 (NetBSD)

iD8DBQFAupbWWz+3JHUci9cRAvE0AJ4+1Zro6SnKtfCzpjnhy2hVKeYAHQCghjW8
iwLYxTI7gxzUqc3P/69ZZLE=
=jy0I
-----END PGP SIGNATURE-----

--yVhtmJPUSI46BTXb--