From: Valerie Aurora <vaurora@xxxxxxxxxx> Union mounts hook into the lookup path in two places: do_lookup() and lookup_hash(). Signed-off-by: Valerie Aurora <valerie.aurora@xxxxxxxxx> --- fs/namei.c | 10 ++++++++++ 1 files changed, 10 insertions(+), 0 deletions(-) diff --git a/fs/namei.c b/fs/namei.c index 3fcb42c..531a0e0 100644 --- a/fs/namei.c +++ b/fs/namei.c @@ -995,6 +995,11 @@ done: path->mnt = mnt; path->dentry = dentry; __follow_mount(path); + if (needs_lookup_union(&nd->path, path)) { + int err = do_lookup_union(nd, name, path); + if (err < 0) + return err; + } return 0; need_lookup: @@ -1417,8 +1422,13 @@ static int lookup_hash(struct nameidata *nd, struct qstr *name, err = PTR_ERR(path->dentry); path->dentry = NULL; path->mnt = NULL; + return err; } + + if (needs_lookup_union(&nd->path, path)) + err = lookup_union(nd, name, path); return err; + } static int __lookup_one_len(const char *name, struct qstr *this, -- 1.7.0.4 -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html