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 /fs/nfsd/export.c | |
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 'fs/nfsd/export.c')
-rw-r--r-- | fs/nfsd/export.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/fs/nfsd/export.c b/fs/nfsd/export.c index 2ac0e30285c2..717413f07e9a 100644 --- a/fs/nfsd/export.c +++ b/fs/nfsd/export.c | |||
@@ -177,7 +177,7 @@ static int expkey_parse(struct cache_detail *cd, char *mesg, int mlen) | |||
177 | cache_put(&ek->h, &svc_expkey_cache); | 177 | cache_put(&ek->h, &svc_expkey_cache); |
178 | else | 178 | else |
179 | err = -ENOMEM; | 179 | err = -ENOMEM; |
180 | path_release(&nd); | 180 | path_put(&nd.path); |
181 | } | 181 | } |
182 | cache_flush(); | 182 | cache_flush(); |
183 | out: | 183 | out: |
@@ -630,7 +630,7 @@ static int svc_export_parse(struct cache_detail *cd, char *mesg, int mlen) | |||
630 | kfree(exp.ex_uuid); | 630 | kfree(exp.ex_uuid); |
631 | kfree(exp.ex_path); | 631 | kfree(exp.ex_path); |
632 | if (nd.path.dentry) | 632 | if (nd.path.dentry) |
633 | path_release(&nd); | 633 | path_put(&nd.path); |
634 | out_no_path: | 634 | out_no_path: |
635 | if (dom) | 635 | if (dom) |
636 | auth_domain_put(dom); | 636 | auth_domain_put(dom); |
@@ -1098,7 +1098,7 @@ finish: | |||
1098 | cache_put(&fsid_key->h, &svc_expkey_cache); | 1098 | cache_put(&fsid_key->h, &svc_expkey_cache); |
1099 | if (clp) | 1099 | if (clp) |
1100 | auth_domain_put(clp); | 1100 | auth_domain_put(clp); |
1101 | path_release(&nd); | 1101 | path_put(&nd.path); |
1102 | out_unlock: | 1102 | out_unlock: |
1103 | exp_writeunlock(); | 1103 | exp_writeunlock(); |
1104 | out: | 1104 | out: |
@@ -1150,7 +1150,7 @@ exp_unexport(struct nfsctl_export *nxp) | |||
1150 | 1150 | ||
1151 | err = -EINVAL; | 1151 | err = -EINVAL; |
1152 | exp = exp_get_by_name(dom, nd.path.mnt, nd.path.dentry, NULL); | 1152 | exp = exp_get_by_name(dom, nd.path.mnt, nd.path.dentry, NULL); |
1153 | path_release(&nd); | 1153 | path_put(&nd.path); |
1154 | if (IS_ERR(exp)) | 1154 | if (IS_ERR(exp)) |
1155 | goto out_domain; | 1155 | goto out_domain; |
1156 | 1156 | ||
@@ -1209,7 +1209,7 @@ exp_rootfh(svc_client *clp, char *path, struct knfsd_fh *f, int maxsize) | |||
1209 | fh_put(&fh); | 1209 | fh_put(&fh); |
1210 | exp_put(exp); | 1210 | exp_put(exp); |
1211 | out: | 1211 | out: |
1212 | path_release(&nd); | 1212 | path_put(&nd.path); |
1213 | return err; | 1213 | return err; |
1214 | } | 1214 | } |
1215 | 1215 | ||