Print this page
SUP-770 deadlock between thread acquiring iss->iss_lockp in stmf_task_free() and thread holding sl->sl_pgr->pgr_lock from sbd_pgr_remove_it_handle()
Reviewed by: Rick McNeal <rick.mcneal@nexenta.com>

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/common/io/comstar/stmf/lun_map.h
          +++ new/usr/src/uts/common/io/comstar/stmf/lun_map.h
↓ open down ↓ 40 lines elided ↑ open up ↑
  41   41  
  42   42  typedef struct stmf_lun_map_ent {
  43   43          struct stmf_lu          *ent_lu;
  44   44          struct stmf_itl_data    *ent_itl_datap;
  45   45  } stmf_lun_map_ent_t;
  46   46  
  47   47  void stmf_view_init();
  48   48  void stmf_view_clear_config();
  49   49  stmf_status_t stmf_session_create_lun_map(stmf_i_local_port_t *ilport,
  50   50                  stmf_i_scsi_session_t *iss);
  51      -stmf_status_t stmf_session_destroy_lun_map(stmf_i_local_port_t *ilport,
  52      -                stmf_i_scsi_session_t *iss);
  53   51  stmf_xfer_data_t *stmf_session_prepare_report_lun_data(stmf_lun_map_t *sm);
  54   52  void stmf_add_lu_to_active_sessions(stmf_lu_t *lu);
  55   53  void stmf_session_lu_unmapall(stmf_lu_t *lu);
  56   54  void *stmf_get_ent_from_map(stmf_lun_map_t *sm, uint16_t lun_num);
  57   55  
  58   56  
  59   57  /*
  60   58   * Common struct used to maintain an Identifer's data. That Identifier
  61   59   * can be a Host group, Target group or LU GUID data. Note that a LU is
  62   60   * different from LU GUID data because either can be there without
↓ open down ↓ 106 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX