From ca76e7b8f861fd40778358e3f711e70b8c85125e Mon Sep 17 00:00:00 2001 From: Al Viro Date: Thu, 24 Jan 2013 18:16:00 -0500 Subject: [PATCH] --- yaml --- r: 359159 b: refs/heads/master c: e97cdc87be5804eb2922e169f6d81d3e214587ec h: refs/heads/master i: 359157: 46042d1de700aba8d1fcb2fe3471954d51ecc460 359155: d08bb5322b1ab36fe50905fdbb2346ff64f44705 359151: 014ef23b156e2d4adec1e5bf1d4db010b2d5c781 v: v3 --- [refs] | 2 +- trunk/fs/namei.c | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/[refs] b/[refs] index acdcea8da29f..c9bad7485575 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 21b9b073924aceb6b8d19c49f61daa86c0340e1a +refs/heads/master: e97cdc87be5804eb2922e169f6d81d3e214587ec diff --git a/trunk/fs/namei.c b/trunk/fs/namei.c index 5f6da6cca394..27823826a500 100644 --- a/trunk/fs/namei.c +++ b/trunk/fs/namei.c @@ -1342,7 +1342,7 @@ static struct dentry *__lookup_hash(struct qstr *name, * small and for now I'd prefer to have fast path as straight as possible. * It _is_ time-critical. */ -static int lookup_fast(struct nameidata *nd, struct qstr *name, +static int lookup_fast(struct nameidata *nd, struct path *path, struct inode **inode) { struct vfsmount *mnt = nd->path.mnt; @@ -1358,7 +1358,7 @@ static int lookup_fast(struct nameidata *nd, struct qstr *name, */ if (nd->flags & LOOKUP_RCU) { unsigned seq; - dentry = __d_lookup_rcu(parent, name, &seq, nd->inode); + dentry = __d_lookup_rcu(parent, &nd->last, &seq, nd->inode); if (!dentry) goto unlazy; @@ -1400,7 +1400,7 @@ static int lookup_fast(struct nameidata *nd, struct qstr *name, if (unlazy_walk(nd, dentry)) return -ECHILD; } else { - dentry = __d_lookup(parent, name); + dentry = __d_lookup(parent, &nd->last); } if (unlikely(!dentry)) @@ -1530,7 +1530,7 @@ static inline int walk_component(struct nameidata *nd, struct path *path, */ if (unlikely(nd->last_type != LAST_NORM)) return handle_dots(nd, nd->last_type); - err = lookup_fast(nd, &nd->last, path, &inode); + err = lookup_fast(nd, path, &inode); if (unlikely(err)) { if (err < 0) goto out_err; @@ -2728,7 +2728,7 @@ static int do_last(struct nameidata *nd, struct path *path, if (open_flag & O_PATH && !(nd->flags & LOOKUP_FOLLOW)) symlink_ok = true; /* we _can_ be in RCU mode here */ - error = lookup_fast(nd, &nd->last, path, &inode); + error = lookup_fast(nd, path, &inode); if (likely(!error)) goto finish_lookup;