aboutsummaryrefslogtreecommitdiffstats
path: root/fs/lockd/svcproc.c
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2012-07-26 00:39:50 +0400
committerAl Viro <viro@zeniv.linux.org.uk>2012-07-29 23:09:57 +0400
commit446945ab9a82515af4b099107eda27050e077c58 (patch)
tree1be9a17759fc754d44a10549a2b43a5aa84a8e2f /fs/lockd/svcproc.c
parenta51d9eaa41866ab6b4b6ecad7b621f8b66ece0dc (diff)
downloadkernel_goldelico_gta04-446945ab9a82515af4b099107eda27050e077c58.zip
kernel_goldelico_gta04-446945ab9a82515af4b099107eda27050e077c58.tar.gz
kernel_goldelico_gta04-446945ab9a82515af4b099107eda27050e077c58.tar.bz2
lockd: shift grabbing a reference to nlm_host into nlm_alloc_call()
It's used both for client and server hosts; we can't do nlmclnt_release_host() on failure exits, since the host might need nlmsvc_release_host(), with BUG_ON() for calling the wrong one. Makes life simpler for callers, actually... Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs/lockd/svcproc.c')
-rw-r--r--fs/lockd/svcproc.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/lockd/svcproc.c b/fs/lockd/svcproc.c
index d27aab1..90cfe9a 100644
--- a/fs/lockd/svcproc.c
+++ b/fs/lockd/svcproc.c
@@ -294,6 +294,7 @@ static __be32 nlmsvc_callback(struct svc_rqst *rqstp, u32 proc, struct nlm_args
return rpc_system_err;
call = nlm_alloc_call(host);
+ nlmsvc_release_host(host);
if (call == NULL)
return rpc_system_err;