Lines Matching defs:call
16 * call) move blocked locks towards the head of the list *while some other
47 static int nlmsvc_setgrantargs(struct nlm_rqst *call, struct nlm_lock *lock);
48 static void nlmsvc_freegrantargs(struct nlm_rqst *call);
221 struct nlm_rqst *call = NULL;
223 call = nlm_alloc_call(host);
224 if (call == NULL)
235 if (!nlmsvc_setgrantargs(call, lock))
239 call->a_args.lock.fl.fl_flags |= FL_SLEEP;
240 call->a_args.lock.fl.fl_lmops = &nlmsvc_lock_operations;
241 nlmclnt_next_cookie(&call->a_args.cookie);
255 block->b_call = call;
256 call->a_flags = RPC_TASK_ASYNC;
257 call->a_block = block;
264 nlmsvc_release_call(call);
405 * Initialize arguments for GRANTED call. The nlm_rqst structure
408 static int nlmsvc_setgrantargs(struct nlm_rqst *call, struct nlm_lock *lock)
410 locks_copy_lock(&call->a_args.lock.fl, &lock->fl);
411 memcpy(&call->a_args.lock.fh, &lock->fh, sizeof(call->a_args.lock.fh));
412 call->a_args.lock.caller = utsname()->nodename;
413 call->a_args.lock.oh.len = lock->oh.len;
416 call->a_args.lock.oh.data = call->a_owner;
417 call->a_args.lock.svid = ((struct nlm_lockowner *)lock->fl.fl_owner)->pid;
423 call->a_args.lock.oh.data = (u8 *) data;
426 memcpy(call->a_args.lock.oh.data, lock->oh.data, lock->oh.len);
430 static void nlmsvc_freegrantargs(struct nlm_rqst *call)
432 if (call->a_args.lock.oh.data != call->a_owner)
433 kfree(call->a_args.lock.oh.data);
435 locks_release_private(&call->a_args.lock.fl);
636 * This implies a CANCEL call: We send a GRANT_MSG, the client replies
637 * with a GRANT_RES call which gets lost, and calls UNLOCK immediately
793 * Note that we use both the RPC_GRANTED_MSG call _and_ an async
875 * RPC call has succeeded or timed out.
883 struct nlm_rqst *call = data;
884 struct nlm_block *block = call->a_block;
923 struct nlm_rqst *call = data;
924 nlmsvc_release_block(call->a_block);
960 * If it is a blocking lock, call grant_blocked.