diff options
author | Huang Shijie <shijie8@gmail.com> | 2010-04-02 17:37:13 +0800 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2010-05-21 18:31:22 -0400 |
commit | 9a2296832c43da93a88e1edd59f3d17acffca36c (patch) | |
tree | e55b77c403c60291344d0961d2f0e4f2e9a2bb7f /fs | |
parent | 51ee049e771c14a29aaee8ecd6cbbe14db088f3a (diff) | |
download | linux-stable-9a2296832c43da93a88e1edd59f3d17acffca36c.tar.gz linux-stable-9a2296832c43da93a88e1edd59f3d17acffca36c.tar.bz2 linux-stable-9a2296832c43da93a88e1edd59f3d17acffca36c.zip |
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>
Diffstat (limited to 'fs')
-rw-r--r-- | fs/namei.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/fs/namei.c b/fs/namei.c index b86b96fe1dc3..48e1f60520ea 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; } |