Re: [PATCH 00/32] VFS based Union Mount (V3)

From: Jan Blunck
Date: Tue May 19 2009 - 06:29:50 EST


On Tue, May 19, Miklos Szeredi wrote:

> > Major changes since last post:
> > - Updated the whiteout patches:
> > - DCACHE_WHITEOUT flag set on a negative dentry
> > - uses filetype instead of reserved inode number on EXT2
> > - Copy-up directories during lookup
> > - Implemented fallthru support for in-kernel readdir() as proposed by
> > Valerie Aurora (Henson)
>
> Does this copy up directories persistently? If so, does this
> implementation no longer supports union of all read-only branches?

The directory in the topmost filesystem is created during lookup. The contents
of the directory isn't copied up presistently at that point in time. Therefore
you have an empty directory in the topmost filesystem after the lookup. This
was necessary to get rid of the union_relookup_topmost() calls during create,
mknod, mkdir etc.

When readdir is called, the topmost directory is filed up with fallthru
entries which are persistently stored. This is only necessary to get readdir
right wrt POSIX. During lookup the fallthru dentry, which is in fact a special
negative dentry, is ignored and therefore the lookup continues on the lower
filesystem.

Hope that clarifies your questions,
Jan
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/