Lines Matching refs:call
164 struct nlm_rqst *call; in nlmclnt_proc() local
168 call = nlm_alloc_call(host); in nlmclnt_proc()
169 if (call == NULL) in nlmclnt_proc()
178 nlmclnt_release_call(call); in nlmclnt_proc()
182 nlmclnt_setlockargs(call, fl); in nlmclnt_proc()
183 call->a_callback_data = data; in nlmclnt_proc()
187 call->a_args.block = IS_SETLKW(cmd) ? 1 : 0; in nlmclnt_proc()
188 status = nlmclnt_lock(call, fl); in nlmclnt_proc()
190 status = nlmclnt_unlock(call, fl); in nlmclnt_proc()
192 status = nlmclnt_test(call, fl); in nlmclnt_proc()
208 struct nlm_rqst *call; in nlm_alloc_call() local
211 call = kzalloc(sizeof(*call), GFP_KERNEL); in nlm_alloc_call()
212 if (call != NULL) { in nlm_alloc_call()
213 refcount_set(&call->a_count, 1); in nlm_alloc_call()
214 locks_init_lock(&call->a_args.lock.fl); in nlm_alloc_call()
215 locks_init_lock(&call->a_res.lock.fl); in nlm_alloc_call()
216 call->a_host = nlm_get_host(host); in nlm_alloc_call()
217 return call; in nlm_alloc_call()
227 void nlmclnt_release_call(struct nlm_rqst *call) in nlmclnt_release_call() argument
229 const struct nlmclnt_operations *nlmclnt_ops = call->a_host->h_nlmclnt_ops; in nlmclnt_release_call()
231 if (!refcount_dec_and_test(&call->a_count)) in nlmclnt_release_call()
234 nlmclnt_ops->nlmclnt_release_call(call->a_callback_data); in nlmclnt_release_call()
235 nlmclnt_release_host(call->a_host); in nlmclnt_release_call()
236 nlmclnt_release_lockargs(call); in nlmclnt_release_call()
237 kfree(call); in nlmclnt_release_call()