summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHuang Shijie <shijie8@gmail.com>2010-04-02 17:37:13 +0800
committerAl Viro <viro@zeniv.linux.org.uk>2010-05-21 18:31:22 -0400
commit9a2296832c43da93a88e1edd59f3d17acffca36c (patch)
treee55b77c403c60291344d0961d2f0e4f2e9a2bb7f
parent51ee049e771c14a29aaee8ecd6cbbe14db088f3a (diff)
namei.c : update mnt when it needed
update the mnt of the path when it is not equal to the new one. Signed-off-by: Huang Shijie <shijie8@gmail.com> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
-rw-r--r--fs/namei.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/fs/namei.c b/fs/namei.c
index b86b96fe1dc..48e1f60520e 100644
--- a/fs/namei.c
+++ b/fs/namei.c
@@ -523,9 +523,10 @@ static void path_put_conditional(struct path *path, struct nameidata *nd)
static inline void path_to_nameidata(struct path *path, struct nameidata *nd)
{
dput(nd->path.dentry);
- if (nd->path.mnt != path->mnt)
+ if (nd->path.mnt != path->mnt) {
mntput(nd->path.mnt);
- nd->path.mnt = path->mnt;
+ nd->path.mnt = path->mnt;
+ }
nd->path.dentry = path->dentry;
}