Print this page
6131 struct scsi_device uses a 1-bit signed bitfield

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/common/sys/scsi/conf/device.h
          +++ new/usr/src/uts/common/sys/scsi/conf/device.h
↓ open down ↓ 142 lines elided ↑ open up ↑
 143  143          /*
 144  144           * sd_uninit_prevent - Counter that prevents demotion of
 145  145           * DS_INITIALIZED node (esp loss of devi_addr) by causing
 146  146           * DDI_CTLOPS_UNINITCHILD failure - devi_ref will not protect
 147  147           * demotion of DS_INITIALIZED node.
 148  148           *
 149  149           * sd_tran_tgt_free_done - in some cases SCSA will call
 150  150           * tran_tgt_free(9E) independent of devinfo node state, this means
 151  151           * that uninitchild code should not call tran_tgt_free(9E).
 152  152           */
 153      -        int                     sd_uninit_prevent:16,
      153 +        unsigned                sd_uninit_prevent:16,
 154  154                                  sd_tran_tgt_free_done:1,
 155  155                                  sd_flags_pad:15;
 156  156  
 157  157          /*
 158  158           * The 'sd_tran_safe' field is a grotty hack that allows direct-access
 159  159           * (non-scsa) drivers (like chs, ata, and mlx - which all make cmdk
 160  160           * children) to *illegally* put their own vector in the scsi_address(9S)
 161  161           * 'a_hba_tran' field. When all the drivers that overwrite
 162  162           * 'a_hba_tran' are fixed, we can remove sd_tran_safe (and make
 163  163           * scsi_hba.c code trust that the 'sd_address.a_hba_tran' established
↓ open down ↓ 105 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX