Lines Matching refs:call
160 struct nlm_rqst *call; in nlmclnt_proc() local
164 call = nlm_alloc_call(host); in nlmclnt_proc()
165 if (call == NULL) in nlmclnt_proc()
174 nlmclnt_release_call(call); in nlmclnt_proc()
178 nlmclnt_setlockargs(call, fl); in nlmclnt_proc()
179 call->a_callback_data = data; in nlmclnt_proc()
183 call->a_args.block = IS_SETLKW(cmd) ? 1 : 0; in nlmclnt_proc()
184 status = nlmclnt_lock(call, fl); in nlmclnt_proc()
186 status = nlmclnt_unlock(call, fl); in nlmclnt_proc()
188 status = nlmclnt_test(call, fl); in nlmclnt_proc()
204 struct nlm_rqst *call; in nlm_alloc_call() local
207 call = kzalloc(sizeof(*call), GFP_KERNEL); in nlm_alloc_call()
208 if (call != NULL) { in nlm_alloc_call()
209 refcount_set(&call->a_count, 1); in nlm_alloc_call()
210 locks_init_lock(&call->a_args.lock.fl); in nlm_alloc_call()
211 locks_init_lock(&call->a_res.lock.fl); in nlm_alloc_call()
212 call->a_host = nlm_get_host(host); in nlm_alloc_call()
213 return call; in nlm_alloc_call()
223 void nlmclnt_release_call(struct nlm_rqst *call) in nlmclnt_release_call() argument
225 const struct nlmclnt_operations *nlmclnt_ops = call->a_host->h_nlmclnt_ops; in nlmclnt_release_call()
227 if (!refcount_dec_and_test(&call->a_count)) in nlmclnt_release_call()
230 nlmclnt_ops->nlmclnt_release_call(call->a_callback_data); in nlmclnt_release_call()
231 nlmclnt_release_host(call->a_host); in nlmclnt_release_call()
232 nlmclnt_release_lockargs(call); in nlmclnt_release_call()
233 kfree(call); in nlmclnt_release_call()