diff options
author | Jan Blunck <jblunck@suse.de> | 2008-02-14 22:34:35 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2008-02-15 00:13:33 -0500 |
commit | 1d957f9bf87da74f420424d16ece005202bbebd3 (patch) | |
tree | 363d4770c0c74a536524c99ccd2762ce96ee9bbe /net | |
parent | 4ac9137858e08a19f29feac4e1f4df7c268b0ba5 (diff) |
Introduce path_put()
* Add path_put() functions for releasing a reference to the dentry and
vfsmount of a struct path in the right order
* Switch from path_release(nd) to path_put(&nd->path)
* Rename dput_path() to path_put_conditional()
[akpm@linux-foundation.org: fix cifs]
Signed-off-by: Jan Blunck <jblunck@suse.de>
Signed-off-by: Andreas Gruenbacher <agruen@suse.de>
Acked-by: Christoph Hellwig <hch@lst.de>
Cc: <linux-fsdevel@vger.kernel.org>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Cc: Steven French <sfrench@us.ibm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'net')
-rw-r--r-- | net/sunrpc/rpc_pipe.c | 2 | ||||
-rw-r--r-- | net/unix/af_unix.c | 6 |
2 files changed, 4 insertions, 4 deletions
diff --git a/net/sunrpc/rpc_pipe.c b/net/sunrpc/rpc_pipe.c index 6bc3babf6175..1b395a41a8b2 100644 --- a/net/sunrpc/rpc_pipe.c +++ b/net/sunrpc/rpc_pipe.c | |||
@@ -495,7 +495,7 @@ rpc_lookup_parent(char *path, struct nameidata *nd) | |||
495 | static void | 495 | static void |
496 | rpc_release_path(struct nameidata *nd) | 496 | rpc_release_path(struct nameidata *nd) |
497 | { | 497 | { |
498 | path_release(nd); | 498 | path_put(&nd->path); |
499 | rpc_put_mount(); | 499 | rpc_put_mount(); |
500 | } | 500 | } |
501 | 501 | ||
diff --git a/net/unix/af_unix.c b/net/unix/af_unix.c index 7c3323e8827b..b8788fd5e3c6 100644 --- a/net/unix/af_unix.c +++ b/net/unix/af_unix.c | |||
@@ -727,7 +727,7 @@ static struct sock *unix_find_other(struct net *net, | |||
727 | if (u->sk_type == type) | 727 | if (u->sk_type == type) |
728 | touch_atime(nd.path.mnt, nd.path.dentry); | 728 | touch_atime(nd.path.mnt, nd.path.dentry); |
729 | 729 | ||
730 | path_release(&nd); | 730 | path_put(&nd.path); |
731 | 731 | ||
732 | err=-EPROTOTYPE; | 732 | err=-EPROTOTYPE; |
733 | if (u->sk_type != type) { | 733 | if (u->sk_type != type) { |
@@ -748,7 +748,7 @@ static struct sock *unix_find_other(struct net *net, | |||
748 | return u; | 748 | return u; |
749 | 749 | ||
750 | put_fail: | 750 | put_fail: |
751 | path_release(&nd); | 751 | path_put(&nd.path); |
752 | fail: | 752 | fail: |
753 | *error=err; | 753 | *error=err; |
754 | return NULL; | 754 | return NULL; |
@@ -862,7 +862,7 @@ out_mknod_dput: | |||
862 | dput(dentry); | 862 | dput(dentry); |
863 | out_mknod_unlock: | 863 | out_mknod_unlock: |
864 | mutex_unlock(&nd.path.dentry->d_inode->i_mutex); | 864 | mutex_unlock(&nd.path.dentry->d_inode->i_mutex); |
865 | path_release(&nd); | 865 | path_put(&nd.path); |
866 | out_mknod_parent: | 866 | out_mknod_parent: |
867 | if (err==-EEXIST) | 867 | if (err==-EEXIST) |
868 | err=-EADDRINUSE; | 868 | err=-EADDRINUSE; |