443  * nlm_link: a list node used for keeping all nlm_globals objects
 444  *           in one global linked list.
 445  */
 446 struct nlm_globals {
 447         kmutex_t                        lock;
 448         clock_t                         grace_threshold;        /* (z) */
 449         pid_t                           lockd_pid;              /* (z) */
 450         nlm_run_status_t                run_status;             /* (z) */
 451         int32_t                         nsm_state;              /* (z) */
 452         kthread_t                       *nlm_gc_thread;         /* (z) */
 453         kcondvar_t                      nlm_gc_sched_cv;        /* (z) */
 454         kcondvar_t                      nlm_gc_finish_cv;       /* (z) */
 455         struct nlm_nsm                  nlm_nsm;                /* (z) */
 456         avl_tree_t                      nlm_hosts_tree;         /* (z) */
 457         mod_hash_t                      *nlm_hosts_hash;        /* (z) */
 458         struct nlm_host_list            nlm_idle_hosts;         /* (z) */
 459         struct nlm_slock_list           nlm_slocks;             /* (z) */
 460         int                             cn_idle_tmo;            /* (z) */
 461         int                             grace_period;           /* (z) */
 462         int                             retrans_tmo;            /* (z) */
 463         zoneid_t                        nlm_zoneid;             /* (c) */
 464         kmutex_t                        clean_lock;             /* (c) */
 465         TAILQ_ENTRY(nlm_globals)        nlm_link;               /* (g) */
 466 };
 467 TAILQ_HEAD(nlm_globals_list, nlm_globals);
 468 
 469 
 470 /*
 471  * This is what we pass as the "owner handle" for NLM_LOCK.
 472  * This lets us find the blocked lock in NLM_GRANTED.
 473  * It also exposes on the wire what we're using as the
 474  * sysid for any server, which can be very helpful for
 475  * problem diagnosis.  (Observability is good).
 476  */
 477 struct nlm_owner_handle {
 478         sysid_t oh_sysid;               /* of remote host */
 479 };
 480 
 481 /*
 482  * Number retries NLM RPC call is repeatead in case of failure.
 
 | 
 
 
 443  * nlm_link: a list node used for keeping all nlm_globals objects
 444  *           in one global linked list.
 445  */
 446 struct nlm_globals {
 447         kmutex_t                        lock;
 448         clock_t                         grace_threshold;        /* (z) */
 449         pid_t                           lockd_pid;              /* (z) */
 450         nlm_run_status_t                run_status;             /* (z) */
 451         int32_t                         nsm_state;              /* (z) */
 452         kthread_t                       *nlm_gc_thread;         /* (z) */
 453         kcondvar_t                      nlm_gc_sched_cv;        /* (z) */
 454         kcondvar_t                      nlm_gc_finish_cv;       /* (z) */
 455         struct nlm_nsm                  nlm_nsm;                /* (z) */
 456         avl_tree_t                      nlm_hosts_tree;         /* (z) */
 457         mod_hash_t                      *nlm_hosts_hash;        /* (z) */
 458         struct nlm_host_list            nlm_idle_hosts;         /* (z) */
 459         struct nlm_slock_list           nlm_slocks;             /* (z) */
 460         int                             cn_idle_tmo;            /* (z) */
 461         int                             grace_period;           /* (z) */
 462         int                             retrans_tmo;            /* (z) */
 463         boolean_t                       nlm_v4_only;            /* (z) */
 464         zoneid_t                        nlm_zoneid;             /* (c) */
 465         kmutex_t                        clean_lock;             /* (c) */
 466         TAILQ_ENTRY(nlm_globals)        nlm_link;               /* (g) */
 467 };
 468 TAILQ_HEAD(nlm_globals_list, nlm_globals);
 469 
 470 
 471 /*
 472  * This is what we pass as the "owner handle" for NLM_LOCK.
 473  * This lets us find the blocked lock in NLM_GRANTED.
 474  * It also exposes on the wire what we're using as the
 475  * sysid for any server, which can be very helpful for
 476  * problem diagnosis.  (Observability is good).
 477  */
 478 struct nlm_owner_handle {
 479         sysid_t oh_sysid;               /* of remote host */
 480 };
 481 
 482 /*
 483  * Number retries NLM RPC call is repeatead in case of failure.
 
 |