From c99687a03a78775f77d57fe9b07af4c8ec3dd03c Mon Sep 17 00:00:00 2001 From: Al Viro Date: Tue, 3 Mar 2020 10:56:17 -0500 Subject: fold path_to_nameidata() into its only remaining caller Signed-off-by: Al Viro --- fs/namei.c | 19 ++++++------------- 1 file changed, 6 insertions(+), 13 deletions(-) (limited to 'fs/namei.c') diff --git a/fs/namei.c b/fs/namei.c index aab4eee6d56a..0ce515e03e11 100644 --- a/fs/namei.c +++ b/fs/namei.c @@ -860,18 +860,6 @@ static int set_root(struct nameidata *nd) return 0; } -static inline void path_to_nameidata(const struct path *path, - struct nameidata *nd) -{ - if (!(nd->flags & LOOKUP_RCU)) { - dput(nd->path.dentry); - if (nd->path.mnt != path->mnt) - mntput(nd->path.mnt); - } - nd->path.mnt = path->mnt; - nd->path.dentry = path->dentry; -} - static int nd_jump_root(struct nameidata *nd) { if (unlikely(nd->flags & LOOKUP_BENEATH)) @@ -1705,7 +1693,12 @@ static const char *step_into(struct nameidata *nd, int flags, ((flags & WALK_TRAILING) && !(nd->flags & LOOKUP_FOLLOW)) || (flags & WALK_NOFOLLOW)) { /* not a symlink or should not follow */ - path_to_nameidata(&path, nd); + if (!(nd->flags & LOOKUP_RCU)) { + dput(nd->path.dentry); + if (nd->path.mnt != path.mnt) + mntput(nd->path.mnt); + } + nd->path = path; nd->inode = inode; nd->seq = seq; return NULL; -- cgit v1.2.3