diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2012-07-26 00:39:50 +0400 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2012-07-29 23:09:57 +0400 |
commit | 446945ab9a82515af4b099107eda27050e077c58 (patch) | |
tree | 1be9a17759fc754d44a10549a2b43a5aa84a8e2f /fs/lockd/svcproc.c | |
parent | a51d9eaa41866ab6b4b6ecad7b621f8b66ece0dc (diff) | |
download | talos-op-linux-446945ab9a82515af4b099107eda27050e077c58.tar.gz talos-op-linux-446945ab9a82515af4b099107eda27050e077c58.zip |
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.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/lockd/svcproc.c b/fs/lockd/svcproc.c index d27aab11f324..90cfe9a0bf55 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; |