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 prefixtran_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
       required to provide the means to return the current value of  the  lun-
       reset  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               17 Aug 2005                   tran_reset(9E)
맨 페이지 내용의 저작권은 맨 페이지 작성자에게 있습니다.
RSS ATOM XHTML 5 CSS3