Print this page
NEX-6018 Return of the walking dead idm_refcnt_wait_ref comstar threads
Reviewed by:  Rick McNeal <rick.mcneal@nexenta.com>
Reviewed by:  Evan Layton <evan.layton@nexenta.com>
        
@@ -20,11 +20,11 @@
  */
 /*
  * Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved.
  */
 /*
- * Copyright 2011, Nexenta Systems, Inc. All rights reserved.
+ * Copyright 2016, Nexenta Systems, Inc. All rights reserved.
  * Copyright (c) 2013 by Delphix. All rights reserved.
  */
 #ifndef _STMF_STATE_H
 #define _STMF_STATE_H
 
@@ -60,12 +60,11 @@
         uint8_t                 stmf_default_lport_state;
         ddi_taskq_t             *stmf_svc_taskq;
         uint32_t                stmf_svc_flags;
         stmf_i_lu_t             *stmf_svc_ilu_draining;
         stmf_i_lu_t             *stmf_svc_ilu_timing;
-        struct stmf_svc_req     *stmf_svc_active;
-        struct stmf_svc_req     **stmf_svc_tailp;
+        list_t                  stmf_svc_list;
 
         stmf_id_list_t          stmf_hg_list;
         stmf_id_list_t          stmf_tg_list;
         stmf_id_list_t          stmf_luid_list;
 
@@ -84,11 +83,11 @@
 /*
  * svc request. We probably have to modify it once more services (and probably
  * different types of services) are added to the stmf_svc_thread.
  */
 typedef struct stmf_svc_req {
-        struct stmf_svc_req             *svc_next;
+        list_node_t                     svc_list_entry;
         int                             svc_req_alloc_size;
         int                             svc_cmd;
         void                            *svc_obj;
         struct stmf_state_change_info   svc_info;
 } stmf_svc_req_t;