tran_reset(9e) 맨 페이지 - 윈디하나의 솔라나라

개요

섹션
맨 페이지 이름
검색(S)

tran_reset(9e)

tran_reset(9E)                Driver Entry Points               tran_reset(9E)

NAME
       tran_reset - reset a SCSI bus or target

SYNOPSIS
       #include <sys/scsi/scsi.h>

       int prefix_tran_reset(struct scsi_address *ap, int level);

INTERFACE LEVEL
       Solaris architecture specific (Solaris DDI).

PARAMETERS
       ap       Pointer to the scsi_address(9S) structure.


       level    The level of reset required.


DESCRIPTION
       The tran_reset() vector in the scsi_hba_tran(9S) structure must be ini‐
       tialized  during  the  HBA driver's attach(9E) to point to an HBA entry
       point to be called when a target driver calls scsi_reset(9F).


       tran_reset() must reset either the SCSI bus, a SCSI target device, or a
       SCSI logical unit as specified by level.


       level must be one of the following:

       RESET_ALL       Reset the SCSI bus.


       RESET_TARGET    Reset the target specified by ap.


       RESET_LUN       Reset the logical unit specified by ap.



       tran_reset should set the pkt_reason field of all  outstanding  packets
       in the transport layer associated with each target or logical unit that
       was  successfully  reset to CMD_RESET and the pkt_statistics field must
       be OR'ed with either STAT_BUS_RESET (if the  SCSI  bus  was  reset)  or
       STAT_DEV_RESET (if the target or logical unit was reset).


       The  HBA  driver  should use a SCSI Bus Device Reset Message to reset a
       target device. The HBA driver should use a SCSI Logical Unit Reset Mes‐
       sage to reset a logical unit.


       Packets that are in the transport layer but not yet active on  the  bus
       should  be returned with pkt_reason set to CMD_RESET and pkt_statistics
       OR'ed with STAT_ABORTED.


       Support for RESET_LUN is optional but strongly encouraged for  new  and
       updated  HBA  drivers.  If an HBA driver provides RESET_LUN support, it
       must also create the lun-reset capability with a value of zero for each
       target device instance represented by a valid ap. The HBA is  also  re‐
       quired  to provide the means to return the current value of the lun-re‐
       set capability in its tran_getcap(9E) routine, as well as the means  to
       change  the  value  of  the lun_reset capability in its tran_getcap(9E)
       routine.

RETURN VALUES
       tran_reset() should return:

       1    on success.


       0    on failure.


CONTEXT
       The tran_reset() function can be called from user or interrupt context.
       This requirement comes from scsi_reset().

SEE ALSO
       attach(9E), ddi_dma_buf_setup(9F), scsi_hba_attach(9F), scsi_reset(9F),
       scsi_address(9S), scsi_hba_tran(9S)


       Writing Device Drivers in Oracle Solaris 11.4

NOTES
       If pkt_reason already indicates that an earlier error had occurred  for
       a  particular  pkt,  tran_reset()  should not overwrite pkt_reason with
       CMD_RESET.

Oracle Solaris 11.4            9 September 2024                 tran_reset(9E)
맨 페이지 내용의 저작권은 맨 페이지 작성자에게 있습니다.
RSS ATOM XHTML 5 CSS3