Lines Matching refs:af
571 struct nlm_async_lock *af = (struct nlm_async_lock *) arg;
575 " cookie %d:%d\n", af, af->af_host->nh_caller_name,
576 af->af_host->nh_sysid, ng_sysid(&af->af_granted.cookie),
577 ng_cookie(&af->af_granted.cookie));
589 if (af->af_host->nh_vers == NLM_VERS4) {
590 nlm4_granted_msg_4(&af->af_granted,
591 NULL, af->af_rpc, &ext, nlm_zero_tv);
597 granted.cookie = af->af_granted.cookie;
598 granted.exclusive = af->af_granted.exclusive;
600 af->af_granted.alock.caller_name;
601 granted.alock.fh = af->af_granted.alock.fh;
602 granted.alock.oh = af->af_granted.alock.oh;
603 granted.alock.svid = af->af_granted.alock.svid;
605 af->af_granted.alock.l_offset;
607 af->af_granted.alock.l_len;
610 NULL, af->af_rpc, &ext, nlm_zero_tv);
616 af->af_expiretime = time_uptime + NLM_EXPIRE_TIMEOUT;
617 mtx_lock(&af->af_host->nh_lock);
618 TAILQ_REMOVE(&af->af_host->nh_pending, af, af_link);
619 TAILQ_INSERT_TAIL(&af->af_host->nh_granted, af, af_link);
620 mtx_unlock(&af->af_host->nh_lock);
628 nlm_free_async_lock(struct nlm_async_lock *af)
633 if (af->af_rpc)
634 CLNT_RELEASE(af->af_rpc);
635 xdr_free((xdrproc_t) xdr_nlm4_testargs, &af->af_granted);
636 if (af->af_vp)
637 vrele(af->af_vp);
638 free(af, M_NLM);
643 * af
649 nlm_cancel_async_lock(struct nlm_async_lock *af)
651 struct nlm_host *host = af->af_host;
658 error = VOP_ADVLOCKASYNC(af->af_vp, NULL, F_CANCEL, &af->af_fl,
659 F_REMOTE, NULL, &af->af_cookie);
666 taskqueue_drain(taskqueue_thread, &af->af_task);
673 "cancelled\n", af, host->nh_caller_name, host->nh_sysid);
679 TAILQ_REMOVE(&host->nh_pending, af, af_link);
681 nlm_free_async_lock(af);
691 struct nlm_async_lock *af;
695 while ((af = TAILQ_FIRST(&host->nh_granted)) != NULL
696 && uptime >= af->af_expiretime) {
698 " cookie %d:%d\n", af, af->af_host->nh_caller_name,
699 af->af_host->nh_sysid, ng_sysid(&af->af_granted.cookie),
700 ng_cookie(&af->af_granted.cookie));
701 TAILQ_REMOVE(&host->nh_granted, af, af_link);
703 nlm_free_async_lock(af);
706 while ((af = TAILQ_FIRST(&host->nh_finished)) != NULL) {
707 TAILQ_REMOVE(&host->nh_finished, af, af_link);
709 nlm_free_async_lock(af);
768 struct nlm_async_lock *af;
780 while ((af = TAILQ_FIRST(&host->nh_pending)) != NULL) {
785 nlm_cancel_async_lock(af);
2021 struct nlm_async_lock *af;
2041 TAILQ_FOREACH(af, &host->nh_pending, af_link) {
2042 if (af->af_fl.l_start == fl.l_start
2043 && af->af_fl.l_len == fl.l_len
2044 && af->af_fl.l_pid == fl.l_pid
2045 && af->af_fl.l_type == fl.l_type) {
2049 if (!af) {
2054 if (af) {
2060 af = malloc(sizeof(struct nlm_async_lock), M_NLM,
2062 TASK_INIT(&af->af_task, 0, nlm_lock_callback, af);
2063 af->af_vp = vs.vs_vp;
2064 af->af_fl = fl;
2065 af->af_host = host;
2066 af->af_rpc = client;
2071 nlm_make_netobj(&af->af_granted.cookie,
2073 af->af_granted.exclusive = argp->exclusive;
2074 af->af_granted.alock.caller_name =
2076 nlm_copy_netobj(&af->af_granted.alock.fh,
2078 nlm_copy_netobj(&af->af_granted.alock.oh,
2080 af->af_granted.alock.svid = argp->alock.svid;
2081 af->af_granted.alock.l_offset = argp->alock.l_offset;
2082 af->af_granted.alock.l_len = argp->alock.l_len;
2093 TAILQ_INSERT_TAIL(&host->nh_pending, af, af_link);
2097 &af->af_task, &af->af_cookie);
2104 CLNT_RELEASE(af->af_rpc);
2106 TAILQ_REMOVE(&host->nh_pending, af, af_link);
2109 &af->af_granted);
2110 free(af, M_NLM);
2113 "(sysid %d)\n", af, host->nh_caller_name, sysid);
2158 struct nlm_async_lock *af;
2206 TAILQ_FOREACH(af, &host->nh_pending, af_link) {
2207 if (af->af_fl.l_start == fl.l_start
2208 && af->af_fl.l_len == fl.l_len
2209 && af->af_fl.l_pid == fl.l_pid
2210 && af->af_fl.l_type == fl.l_type) {
2215 if (!af) {
2221 error = nlm_cancel_async_lock(af);
2350 struct nlm_async_lock *af = NULL;
2365 TAILQ_FOREACH(af, &host->nh_granted, af_link)
2367 ng_cookie(&af->af_granted.cookie))
2369 if (af)
2370 TAILQ_REMOVE(&host->nh_granted, af, af_link);
2373 if (!af) {
2382 af->af_fl.l_type = F_UNLCK;
2383 error = VOP_ADVLOCK(af->af_vp, NULL, F_UNLCK, &af->af_fl, F_REMOTE);
2392 af, host->nh_caller_name, host->nh_sysid);
2395 af, host->nh_caller_name, host->nh_sysid);
2399 if (af)
2400 nlm_free_async_lock(af);