scsi_reset man page on SmartOS

Man page or keyword search:  
man Server   16655 pages
apropos Keyword Search (all sections)
Output format
SmartOS logo
[printable version]

SCSI_RESET(9F)							SCSI_RESET(9F)

NAME
       scsi_reset - reset a SCSI bus or target

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

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

INTERFACE LEVEL
       Solaris DDI specific (Solaris DDI).

PARAMETERS
       ap
		Pointer to the scsi_address structure.

       level
		The level of reset required.

DESCRIPTION
       The  scsi_reset()  function  asks  the host adapter driver to reset the
       SCSI bus or a SCSI target  as  specified	 by  level.  If	 level	equals
       RESET_ALL, the SCSI bus is reset. If it equals RESET_TARGET, ap is used
       to determine the target to be reset. If it equals RESET_LUN, ap is used
       to determine the logical unit to be reset.

       When  given the RESET_LUN level, scsi_reset() can return failure if the
       LOGICAL UNIT RESET message is not supported by the target device, or if
       the  underlying	HBA  driver  does not implement the ability to issue a
       LOGICAL UNIT RESET message.

       Note that, at the point when scsi_reset() resets the logical unit (case
       RESET_LUN),  or	the  target  (case  RESET_TARGET),  or	the  bus (case
       RESET_ALL), there might be one or  more	command	 packets  outstanding.
       That  is,  packets  have been passed to scsi_transport(), and queued or
       possibly transported, but the commands have not been completed and  the
       target completion routine has not been called for those packets.

       The  successful	call to scsi_reset() has the side effect that any such
       commands currently outstanding are aborted, at which point the  packets
       are marked with pkt_reason set to CMD_RESET, and the appropriate bit --
       either STAT_BUS_RESET or STAT_DEV_RESET -- is  set  in  pkt_statistics.
       Once  thus appropriately marked, the aborted command packets are passed
       to the target driver command completion routine.

       Also note that, at the moment  that  a  thread  executing  scsi_reset()
       actually	 resets	 the  target  or the bus, it is possible that a second
       thread may have already called scsi_transport(), but not yet queued  or
       transported  its	 command.  In  this  case  the	HBA  will not yet have
       received the second  thread's  packet  and  this	 packet	 will  not  be
       aborted.

RETURN VALUES
       The scsi_reset() function returns:

       1
	    Upon success.

       0
	    Upon failure.

CONTEXT
       The scsi_reset() function can be called from user, interrupt, or kernel
       context.

SEE ALSO
       tran_reset(9E), tran_reset_notify(9E), scsi_abort(9F)

       Writing Device Drivers

				 Jan 16, 2006			SCSI_RESET(9F)
[top]

List of man pages available for SmartOS

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net