Re: [PATCH 21/32] union-mount: Make lookup work for union-mounted file systems

From: Miklos Szeredi
Date: Tue May 19 2009 - 12:16:16 EST


On Mon, 18 May 2009, Jan Blunck wrote:
> On union-mounted file systems the lookup function must also visit lower layers
> of the union-stack when doing a lookup. This patches add support for
> union-mounts to cached lookups and real lookups.
>
> We have 3 different styles of lookup functions now:
> - multiple pathname components, follow mounts, follow union, follow symlinks
> - single pathname component, doesn't follow mounts, follow union, doesn't
> follow symlinks
> - single pathname component doesn't follow mounts, doesn't follow unions,
> doesn't follow symlinks

Ugh... I do wonder if this could be done in a less complicated way,
there does seem to be a fair amount of duplication between these
functions.

Worse, it looks like there are still i_mutex lock ordering issues
(__hash_lookup_topmost()/__hash_lookup_build_union()). What happens
if two separate unions of two filesystems are built where the order of
branches is reversed?

Thanks,
Miklos
--
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/