| Subject | Re: [PATCH 21/32] union-mount: Make lookup work for union-mounted file systems | From | Miklos Szeredi <> | Date | Tue, 19 May 2009 18:15:52 +0200 |
| |
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
|