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

From: Jan Blunck
Date: Tue May 19 2009 - 06:39:35 EST


On Tue, May 19, Miklos Szeredi wrote:

> On Tue, 19 May 2009, Jan Blunck wrote:
> > 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.
>
> So this means that the topmost branch always needs to be writable,
> right? It isn't possible to make a union of two iso9660 filesystems,
> for example?

Exactly. Although, you can do that with the help of tmpfs on top of the two
iso9660 filesystems. Or by adding fake write support to iso9660 ...

I know that this seems to be suboptimal but it is the cost that the POSIX
correct readdir comes with.
--
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/