aboutsummaryrefslogtreecommitdiffstats
path: root/fs/namei.c
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2013-01-24 18:16:00 -0500
committerAl Viro <viro@zeniv.linux.org.uk>2013-02-22 23:31:34 -0500
commite97cdc87be5804eb2922e169f6d81d3e214587ec (patch)
tree6d27d4923289071cf0b27850659ebb5fc8e0758e /fs/namei.c
parent21b9b073924aceb6b8d19c49f61daa86c0340e1a (diff)
lookup_fast: get rid of name argument
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs/namei.c')
-rw-r--r--fs/namei.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/fs/namei.c b/fs/namei.c
index 5f6da6cca394..27823826a500 100644
--- a/fs/namei.c
+++ b/fs/namei.c
@@ -1342,7 +1342,7 @@ static struct dentry *__lookup_hash(struct qstr *name,
1342 * small and for now I'd prefer to have fast path as straight as possible. 1342 * small and for now I'd prefer to have fast path as straight as possible.
1343 * It _is_ time-critical. 1343 * It _is_ time-critical.
1344 */ 1344 */
1345static int lookup_fast(struct nameidata *nd, struct qstr *name, 1345static int lookup_fast(struct nameidata *nd,
1346 struct path *path, struct inode **inode) 1346 struct path *path, struct inode **inode)
1347{ 1347{
1348 struct vfsmount *mnt = nd->path.mnt; 1348 struct vfsmount *mnt = nd->path.mnt;
@@ -1358,7 +1358,7 @@ static int lookup_fast(struct nameidata *nd, struct qstr *name,
1358 */ 1358 */
1359 if (nd->flags & LOOKUP_RCU) { 1359 if (nd->flags & LOOKUP_RCU) {
1360 unsigned seq; 1360 unsigned seq;
1361 dentry = __d_lookup_rcu(parent, name, &seq, nd->inode); 1361 dentry = __d_lookup_rcu(parent, &nd->last, &seq, nd->inode);
1362 if (!dentry) 1362 if (!dentry)
1363 goto unlazy; 1363 goto unlazy;
1364 1364
@@ -1400,7 +1400,7 @@ unlazy:
1400 if (unlazy_walk(nd, dentry)) 1400 if (unlazy_walk(nd, dentry))
1401 return -ECHILD; 1401 return -ECHILD;
1402 } else { 1402 } else {
1403 dentry = __d_lookup(parent, name); 1403 dentry = __d_lookup(parent, &nd->last);
1404 } 1404 }
1405 1405
1406 if (unlikely(!dentry)) 1406 if (unlikely(!dentry))
@@ -1530,7 +1530,7 @@ static inline int walk_component(struct nameidata *nd, struct path *path,
1530 */ 1530 */
1531 if (unlikely(nd->last_type != LAST_NORM)) 1531 if (unlikely(nd->last_type != LAST_NORM))
1532 return handle_dots(nd, nd->last_type); 1532 return handle_dots(nd, nd->last_type);
1533 err = lookup_fast(nd, &nd->last, path, &inode); 1533 err = lookup_fast(nd, path, &inode);
1534 if (unlikely(err)) { 1534 if (unlikely(err)) {
1535 if (err < 0) 1535 if (err < 0)
1536 goto out_err; 1536 goto out_err;
@@ -2728,7 +2728,7 @@ static int do_last(struct nameidata *nd, struct path *path,
2728 if (open_flag & O_PATH && !(nd->flags & LOOKUP_FOLLOW)) 2728 if (open_flag & O_PATH && !(nd->flags & LOOKUP_FOLLOW))
2729 symlink_ok = true; 2729 symlink_ok = true;
2730 /* we _can_ be in RCU mode here */ 2730 /* we _can_ be in RCU mode here */
2731 error = lookup_fast(nd, &nd->last, path, &inode); 2731 error = lookup_fast(nd, path, &inode);
2732 if (likely(!error)) 2732 if (likely(!error))
2733 goto finish_lookup; 2733 goto finish_lookup;
2734 2734