Subject: Re: union whiteouts persistence intentional?
To: None <tech-kern@NetBSD.org>
From: Bill Studenmund <wrstuden@netbsd.org>
List: tech-kern
Date: 06/06/2006 19:28:03
--gKMricLos+KVdGMg
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Wed, Jun 07, 2006 at 02:23:50AM +0200, theo borm wrote:
> Chapman Flack wrote:
>=20
> >theo borm wrote:
> >
> >>Whiteouts seem to be persistent entries in the overlaying directory,
> >>surviving the union being unmounted again, and I'm not quite sure

They are supposed to do that.

> >I can't think of a good way to make them nonpersistent and still have
> >them be useful ... if you have a union set up in /etc/fstab you probably
> >want it to look the same way after your next reboot.

Indeed. I've done this before.

> I hadn't thought of it that way. And I'm not quite sure if it works
> that way. In fstab you can give -o union to mounts, but this doesn't

As noted, -o union is different from unionfs.

-o union does an aggregation of all the files in both the "upper" and=20
"lower" directories. It's a quick&simple feature to let you mount fdesc=20
(mount_fdesc) file systems over /dev and yet keep all your existing=20
devices.

> >But would rm -W be a faster way to get rid of them when you don't
> >want them?
>=20
> Then I should still know their names. I cant just do rm -W * can I?

find . -type w

should give you the whiteouts.

> I don't like the idea of directory entries that I can't see and can't del=
ete
> unless I know their full path name.

As above, you can see them, you just have to use the correct tools. The=20
fact that they can (and do) disappear is part of their point. :-)

> Most usefull behaviour to me would be something like a mount option
> "-o non-persistent-whiteouts", but I guess this would require one to
> actively clean up behind one during unmount (and what if a union is
> not properly unmounted?)

Yes. I think the most appropriate way to handle this is "find /mount/point
-type w -print0 | xargs -0 rm -Wf". There's both no need for this in the
fs code, nor is this really something the kernel should be doing.

Take care,

Bill

--gKMricLos+KVdGMg
Content-Type: application/pgp-signature
Content-Disposition: inline

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

iD8DBQFEhjmzWz+3JHUci9cRAiBnAKCP4tszEHsMPuvLxbbvcBAACnD4FACeO90S
rXtOHl5s4ozAurd1gR9016g=
=6Fgx
-----END PGP SIGNATURE-----

--gKMricLos+KVdGMg--