Print this page
XXXX introduce drv_sectohz


 137         uint16_t                ilport_rtpid; /* relative tpid */
 138         uint16_t                ilport_proxy_registered;
 139         uint64_t                ilport_reg_msgid;
 140         uint8_t                 ilport_no_standby_lu;
 141         uint32_t                ilport_unexpected_comp;
 142         stmf_event_handle_t     ilport_event_hdl;
 143         clock_t                 ilport_last_online_clock;
 144         clock_t                 ilport_avg_interval;
 145         uint32_t                ilport_online_times;
 146         uint32_t                ilport_flags;
 147         kstat_t                 *ilport_kstat_info;
 148         kstat_t                 *ilport_kstat_io;
 149         kmutex_t                ilport_kstat_lock;
 150         char                    ilport_kstat_tgt_name[STMF_TGT_NAME_LEN];
 151         /* which target group this port belongs to in stmf_state.stmf_tg_list */
 152         void                    *ilport_tg;
 153         id_t                    ilport_instance;
 154         /* XXX Need something to track all the remote ports also */
 155 } stmf_i_local_port_t;
 156 
 157 #define STMF_AVG_ONLINE_INTERVAL        (30 * drv_usectohz(1000000))
 158 
 159 #define MAX_IRPORT                      0x10000
 160 
 161 typedef struct stmf_i_remote_port {
 162         struct scsi_devid_desc  *irport_id;
 163         kmutex_t                irport_mutex;
 164         int                     irport_refcnt;
 165         id_t                    irport_instance;
 166         avl_node_t              irport_ln;
 167 } stmf_i_remote_port_t;
 168 
 169 /*
 170  * ilport flags
 171  */
 172 #define ILPORT_FORCED_OFFLINE           0x01
 173 #define ILPORT_SS_GOT_INITIAL_LUNS      0x02
 174 
 175 typedef struct stmf_i_scsi_session {
 176         stmf_scsi_session_t     *iss_ss;
 177         uint32_t                iss_alloc_size;




 137         uint16_t                ilport_rtpid; /* relative tpid */
 138         uint16_t                ilport_proxy_registered;
 139         uint64_t                ilport_reg_msgid;
 140         uint8_t                 ilport_no_standby_lu;
 141         uint32_t                ilport_unexpected_comp;
 142         stmf_event_handle_t     ilport_event_hdl;
 143         clock_t                 ilport_last_online_clock;
 144         clock_t                 ilport_avg_interval;
 145         uint32_t                ilport_online_times;
 146         uint32_t                ilport_flags;
 147         kstat_t                 *ilport_kstat_info;
 148         kstat_t                 *ilport_kstat_io;
 149         kmutex_t                ilport_kstat_lock;
 150         char                    ilport_kstat_tgt_name[STMF_TGT_NAME_LEN];
 151         /* which target group this port belongs to in stmf_state.stmf_tg_list */
 152         void                    *ilport_tg;
 153         id_t                    ilport_instance;
 154         /* XXX Need something to track all the remote ports also */
 155 } stmf_i_local_port_t;
 156 
 157 #define STMF_AVG_ONLINE_INTERVAL        drv_sectohz(30)
 158 
 159 #define MAX_IRPORT                      0x10000
 160 
 161 typedef struct stmf_i_remote_port {
 162         struct scsi_devid_desc  *irport_id;
 163         kmutex_t                irport_mutex;
 164         int                     irport_refcnt;
 165         id_t                    irport_instance;
 166         avl_node_t              irport_ln;
 167 } stmf_i_remote_port_t;
 168 
 169 /*
 170  * ilport flags
 171  */
 172 #define ILPORT_FORCED_OFFLINE           0x01
 173 #define ILPORT_SS_GOT_INITIAL_LUNS      0x02
 174 
 175 typedef struct stmf_i_scsi_session {
 176         stmf_scsi_session_t     *iss_ss;
 177         uint32_t                iss_alloc_size;