diff options
-rw-r--r-- | fs/lockd/clntproc.c | 8 | ||||
-rw-r--r-- | fs/lockd/svcproc.c | 2 | ||||
-rw-r--r-- | include/linux/lockd/lockd.h | 2 |
3 files changed, 6 insertions, 6 deletions
diff --git a/fs/lockd/clntproc.c b/fs/lockd/clntproc.c index 112173dbea76..a2c0dfc6fdc0 100644 --- a/fs/lockd/clntproc.c +++ b/fs/lockd/clntproc.c | |||
@@ -204,7 +204,7 @@ struct nlm_rqst *nlm_alloc_call(struct nlm_host *host) | |||
204 | for(;;) { | 204 | for(;;) { |
205 | call = kzalloc(sizeof(*call), GFP_KERNEL); | 205 | call = kzalloc(sizeof(*call), GFP_KERNEL); |
206 | if (call != NULL) { | 206 | if (call != NULL) { |
207 | atomic_set(&call->a_count, 1); | 207 | refcount_set(&call->a_count, 1); |
208 | locks_init_lock(&call->a_args.lock.fl); | 208 | locks_init_lock(&call->a_args.lock.fl); |
209 | locks_init_lock(&call->a_res.lock.fl); | 209 | locks_init_lock(&call->a_res.lock.fl); |
210 | call->a_host = nlm_get_host(host); | 210 | call->a_host = nlm_get_host(host); |
@@ -222,7 +222,7 @@ void nlmclnt_release_call(struct nlm_rqst *call) | |||
222 | { | 222 | { |
223 | const struct nlmclnt_operations *nlmclnt_ops = call->a_host->h_nlmclnt_ops; | 223 | const struct nlmclnt_operations *nlmclnt_ops = call->a_host->h_nlmclnt_ops; |
224 | 224 | ||
225 | if (!atomic_dec_and_test(&call->a_count)) | 225 | if (!refcount_dec_and_test(&call->a_count)) |
226 | return; | 226 | return; |
227 | if (nlmclnt_ops && nlmclnt_ops->nlmclnt_release_call) | 227 | if (nlmclnt_ops && nlmclnt_ops->nlmclnt_release_call) |
228 | nlmclnt_ops->nlmclnt_release_call(call->a_callback_data); | 228 | nlmclnt_ops->nlmclnt_release_call(call->a_callback_data); |
@@ -678,7 +678,7 @@ nlmclnt_unlock(struct nlm_rqst *req, struct file_lock *fl) | |||
678 | goto out; | 678 | goto out; |
679 | } | 679 | } |
680 | 680 | ||
681 | atomic_inc(&req->a_count); | 681 | refcount_inc(&req->a_count); |
682 | status = nlmclnt_async_call(nfs_file_cred(fl->fl_file), req, | 682 | status = nlmclnt_async_call(nfs_file_cred(fl->fl_file), req, |
683 | NLMPROC_UNLOCK, &nlmclnt_unlock_ops); | 683 | NLMPROC_UNLOCK, &nlmclnt_unlock_ops); |
684 | if (status < 0) | 684 | if (status < 0) |
@@ -769,7 +769,7 @@ static int nlmclnt_cancel(struct nlm_host *host, int block, struct file_lock *fl | |||
769 | nlmclnt_setlockargs(req, fl); | 769 | nlmclnt_setlockargs(req, fl); |
770 | req->a_args.block = block; | 770 | req->a_args.block = block; |
771 | 771 | ||
772 | atomic_inc(&req->a_count); | 772 | refcount_inc(&req->a_count); |
773 | status = nlmclnt_async_call(nfs_file_cred(fl->fl_file), req, | 773 | status = nlmclnt_async_call(nfs_file_cred(fl->fl_file), req, |
774 | NLMPROC_CANCEL, &nlmclnt_cancel_ops); | 774 | NLMPROC_CANCEL, &nlmclnt_cancel_ops); |
775 | if (status == 0 && req->a_res.status == nlm_lck_denied) | 775 | if (status == 0 && req->a_res.status == nlm_lck_denied) |
diff --git a/fs/lockd/svcproc.c b/fs/lockd/svcproc.c index 0d670c5c378f..ea77c66d3cc3 100644 --- a/fs/lockd/svcproc.c +++ b/fs/lockd/svcproc.c | |||
@@ -295,7 +295,7 @@ static void nlmsvc_callback_exit(struct rpc_task *task, void *data) | |||
295 | 295 | ||
296 | void nlmsvc_release_call(struct nlm_rqst *call) | 296 | void nlmsvc_release_call(struct nlm_rqst *call) |
297 | { | 297 | { |
298 | if (!atomic_dec_and_test(&call->a_count)) | 298 | if (!refcount_dec_and_test(&call->a_count)) |
299 | return; | 299 | return; |
300 | nlmsvc_release_host(call->a_host); | 300 | nlmsvc_release_host(call->a_host); |
301 | kfree(call); | 301 | kfree(call); |
diff --git a/include/linux/lockd/lockd.h b/include/linux/lockd/lockd.h index 86d012a76862..4fd95dbeb52f 100644 --- a/include/linux/lockd/lockd.h +++ b/include/linux/lockd/lockd.h | |||
@@ -137,7 +137,7 @@ struct nlm_wait; | |||
137 | */ | 137 | */ |
138 | #define NLMCLNT_OHSIZE ((__NEW_UTS_LEN) + 10u) | 138 | #define NLMCLNT_OHSIZE ((__NEW_UTS_LEN) + 10u) |
139 | struct nlm_rqst { | 139 | struct nlm_rqst { |
140 | atomic_t a_count; | 140 | refcount_t a_count; |
141 | unsigned int a_flags; /* initial RPC task flags */ | 141 | unsigned int a_flags; /* initial RPC task flags */ |
142 | struct nlm_host * a_host; /* host handle */ | 142 | struct nlm_host * a_host; /* host handle */ |
143 | struct nlm_args a_args; /* arguments */ | 143 | struct nlm_args a_args; /* arguments */ |