st man page on SmartOS

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

ST(7D)									ST(7D)

NAME
       st - driver for SCSI tape devices

SYNOPSIS
       st@target,lun:l,m,h,c,ubn

DESCRIPTION
       The st device driver provides a standard interface to various SCSI tape
       devices. See mtio(7I) for details.

       To determine if the st device driver supports your tape	device,	 SPARC
       users should enter the following on a command line:

	 % strings /kernel/drv/sparcv9/st | grep -i <tape device name>

       x86  users  can	do  the following to determine if the st device driver
       supports a particular tape device:

	 % strings /kernel/drv/st | grep -i <tape device name>

       The driver can be opened with either rewind on close or	no  rewind  on
       close  options.	It  can also be opened with the O_NDELAY (see open(2))
       option when there is no tape inserted in the drive. A maximum  of  four
       tape  formats per device are supported (see FILES below). The tape for‐
       mat is specified using the device name. (Tape format is	also  referred
       to as tape density).

       Following  are  a  list	of  SCSI  commands  that can be executed while
       another host reserves the tape drive. The commands are:

	 SCMD_TEST_UNIT_READY
	 SCMD_REQUEST_SENSE
	 SCMD_READ_BLKLIM
	 SCMD_INQUIRY
	 SCMD_RESERVE
	 SCMD_RELEASE
	 SCMD_DOORLOCK
	 SCMD_REPORT_DENSITIES
	 SCMD_LOG_SENSE_G1
	 SCMD_PERSISTENT_RESERVE_IN
	 SCMD_PERSISTENT_RESERVE_OUT
	 SCMD_REPORT_LUNS

       In multi-initiator environments, the driver will not reserve  the  tape
       drive if above commands are issued. For other SCSI commands, the driver
       reserves the tape drive and releases the drive at close if  it has been
       reserved.  Refer	 to  the  MTIOCRESERVE	and  MTIOCRELEASE  ioctls   in
       mtio(7I) for information about how to allow  a  tape  drive  to	remain
       reserved	 upon  close. See the flag options below for information about
       disabling this feature.

       If a SCSI-3 persistent reservation is  done  through  the  driver,  the
       driver disables all existing SCSI-2 reservations.

       If  the	tape  drive  is opened in O_NDELAY mode, no reservation occurs
       during the open, as per the POSIX standard (see standards(5)). However,
       if  a  command not found in the above list is used, a  reservation will
       occur to provide reserve/release functionality before  the  command  is
       issued.

   Persistent Errors and Asynchronous Tape Operation
       The  st	driver	now supports persistent errors (see mtio(7I) and asyn‐
       chronous tape operations (see mtio(7I), aioread(3C), and aiowrite(3C)).

   Read Operation
       If the driver is opened for reading in a different format than the tape
       is written in, the driver overrides the user-selected format. For exam‐
       ple, if a 1/4" cartridge tape is written in QIC-24  format  and	opened
       for  reading in QIC-150, the driver detects a read failure on the first
       read and automatically switches to QIC-24 to read the data.

       Note that if the low density format is used,  no	 indication  is	 given
       that  the  driver has overridden the format you selected. Other formats
       issue a warning message to inform you of an  overridden	format	selec‐
       tion.  Some  devices  automatically  perform  this  function and do not
       require driver support (1/2" reel tape drive, for example).

   Write Operation
       Writing from the beginning of tape is performed in  the	user-specified
       format.	The original tape format is used for appending onto previously
       written tapes.

   Tape Configuration
       The st driver has a built-in configuration table for most Sun-supported
       tape  drives.  For  those tape drives that are not in the table, the st
       driver tries to read the configuration  from  the  tape	drive  through
       optional	 SCSI-3	 commands. To support the addition of third party tape
       devices which are not in the  built-in configuration table or not  able
       to  report  their  configuration, device information can be supplied in
       st.conf as global properties that apply to each node, or as  properties
       that  are  applicable to one node only. By supplying the information in
       st.conf, the built-in configuration is overridden  and  the  st	driver
       will  not query the configuration from tape drives. The st driver looks
       for the property called tape-config-list. The value of this property is
       a list of triplets, where each triplet consists of three strings.

       The formal syntax is:

	 tape-config-list = <triplet> [, <triplet> *];

       where

	 <triplet> := <vid+pid>, <pretty print>, <data-property-name>

       and

	 <data-property-name> = <version>, <type>, <bsize>,
		 <options>, <number of densities>,
		 <density> [, <density>*], <default-density>;

       or

	 <data-property-name> = <version 2>, <type>, <bsize>,
		   <options>, <number of densities>,
		   <density> [, <density>*], <default-density>,
		   <non-motion time-out>, <I/O time-out>,
		   <rewind time-out>, <space time-out>,
		   <load time-out>, <unload time-out>,
		   <erase time-out>;

       A  semicolon (;) is used to terminate a prototype devinfo node specifi‐
       cation. Individual elements listed within the specification should  not
       be separated by a semicolon. (Refer to driver.conf(4) for more informa‐
       tion.)

       <vid+pid> is the string that is returned by the tape device on  a  SCSI
       inquiry	command.  This	string	may contain any character in the range
       0x20-0x7e. Characters such as " " " (double quote) or  "	 '  "  (single
       quote),	which  are not permitted in property value strings, are repre‐
       sented by their octal equivalent (for example,  42 and	47).  Trailing
       spaces may be truncated.

       <pretty print> is used to report the device on the console. This string
       may have zero length, in which case  the	 <vid+pid>  will  be  used  to
       report the device.

       <data-property-name> is the name of the property which contains all the
       tape configuration values (such as <type>, <bsize>, etc.)   correspond‐
       ing for the tape drive for the specified <vid+pid>.

       <version>  is  a	 version  number  and should be 1 or 2. In the future,
       higher version numbers may be used to allow for changes in  the	syntax
       of the <data-property-name> value list.

       <type>	 is    a    type   field.   Valid   types   are	  defined   in
       /usr/include/sys/mtio.h. For third party tape configuration,  the  fol‐
       lowing generic types are recommended:

       MT_ISQIC	      0x32
       MT_ISREEL      0x33
       MT_ISDAT	      0x34
       MT_IS8MM	      0x35
       MT_ISOTHER     0x36
       MT_ISTAND25G   0x37
       MT_ISDLT	      0x38
       MT_ISSTK9840   0x39
       MT_ISBMDLT1    0x3A

       MT_LTO	      0x3B

       <bsize>	is  the	 preferred  block  size	 of the tape device. The value
       should be 0 for variable block size devices.

       <options> is a bit pattern representing	the  devices,  as  defined  in
       /usr/include/sys/scsi/targets/stdef.h.  Valid flags for tape configura‐
       tion are shown in the following table. Note that this  table  does  not
       list   flags   that   are   non-configurable   in   st.conf  (including
       ST_KNOWS_MEDIA which uses the media type reported from the mode	select
       data to select the correct density code).

       ST_VARIABLE			      0x0001
       ST_QIC				      0x0002
       ST_REEL				      0x0004
       ST_BSF				      0x0008
       ST_BSR				      0x0010
       ST_LONG_ERASE			      0x0020
       ST_AUTODEN_OVERRIDE		      0x0040
       ST_NOBUF				      0x0080
       ST_KNOWS_EOD			      0x0200
       ST_UNLOADABLE			      0x0400
       ST_SOFT_ERROR_REPORTING		      0x0800
       ST_LONG_TIMEOUTS			      0x1000
       ST_NO_RECSIZE_LIMIT		      0x8000
       ST_MODE_SEL_COMP			      0x10000
       ST_NO_RESERVE_RELEASE		      0x20000
       ST_READ_IGNORE_ILI		      0x40000
       ST_READ_IGNORE_EOFS		      0x80000
       ST_SHORT_FILEMARKS		      0x100000
       ST_EJECT_TAPE_ON_CHANGER_FAILURE	      0x200000
       ST_RETRY_ON_RECOVERED_DEFERRED_ERROR   0x400000
       ST_WORMABLE			      0x1000000

       ST_VARIABLE

	   The	flag indicates the tape device supports variable length record
	   sizes.

       ST_QIC

	   The flag indicates a Quarter Inch Cartridge (QIC) tape device.

       ST_REEL

	   The flag indicates a 1/2−inch reel tape device.

       ST_BSF

	   If flag is set, the device supports backspace over EOF marks (bsf -
	   see mt(1)).

       ST_BSR

	   If flag is set, the tape device supports the backspace record oper‐
	   ation (bsr - see mt(1)). If the device does not support bsr, the st
	   driver emulates the action by rewinding the tape and using the for‐
	   ward space record (fsf) operation to forward the tape to  the  cor‐
	   rect	 file.	The  driver  then uses forward space record (fsr - see
	   mt(1)) to forward the tape to the correct record.

       ST_LONG_ERASE

	   The flag indicates the tape device needs a longer time than	normal
	   to erase.

       ST_AUTODEN_OVERRIDE

	   The	auto-density override flag. The device is capable of determin‐
	   ing	the  tape  density  automatically  without  issuing  a	"mode-
	   select"/"mode-sense command."

       ST_NOBUF

	   The	flag disables the device's ability to perform buffered writes.
	   A buffered write occurs when the device acknowledges the completion
	   of  a write request after the data has been written to the device's
	   buffer, but before all of the data has been written to the tape.

       ST_KNOWS_EOD

	   If flag is set, the device can determine when EOD (End of Data) has
	   been	 reached.  When this flag is set, the st driver uses fast file
	   skipping.  Otherwise, file skipping happens one file at a time.

       ST_UNLOADABLE

	   The flag indicates the device will not complain if the st driver is
	   unloaded and loaded again (see modload(1M) and modunload(1M)). That
	   is, the driver will return the correct inquiry string.

       ST_SOFT_ERROR_REPORTING

	   The flag indicates the tape device will perform a  "request	sense"
	   or  "log  sense" command when the device is closed. Currently, only
	   Exabyte and DAT drives support this feature.

       ST_LONG_TIMEOUTS

	   The flag indicates the tape device requires timeouts that are  five
	   times longer than usual for normal operation.

       ST_NO_RECSIZE_LIMIT

	   The	flag  applies to variable-length tape devices. If this flag is
	   set, the record size is not limited to a 64 Kbyte record size.  The
	   record  size	 is  only  limited by the smaller of either the record
	   size supported by the device or the maximum DMA  transfer  size  of
	   the system. (Refer to Large Record Sizes and WARNINGS.) The maximum
	   block size that will not be	broken	into  smaller  blocks  can  be
	   determined from the mt_bf returned from the MTIOCGET ioctl().  This
	   number is the lesser of the upper block limit returned by the drive
	   from	 READ BLOCK LIMITS command and the dma-max property set by the
	   Host Bus Adapter (HBA) to which the drive is attached.

       ST_MODE_SEL_COMP

	   If the ST_MODE_SEL_COMP flag is set, the driver determines which of
	   the two mode pages the device supports for selecting or deselecting
	   compression. It first tries the Data Compression mode page  (0x0F);
	   if  this fails, it tries the Device Configuration mode page (0x10).
	   Some devices, however, may need a specific density code for select‐
	   ing	or  deselecting	 compression.  Please refer to the device spe‐
	   cific SCSI manual. When the flag is	set,  compression  is  enabled
	   only	 if  the "c" or "u" device is used. Note that when the lower 2
	   densities of a drive are identically configured  and	 the  upper  2
	   densities  are identically configured, but the lower and upper dif‐
	   fer from each other and ST_MODE_SEL_COMP is set, the "m" node  sets
	   compression	on  for the lower density code (for example, 0x42) and
	   the "c" and "u" nodes set compression on  for  the  higher  density
	   (for example, 0x43). For any other device densities, compression is
	   disabled.

       ST_NO_RESERVE_RELEASE

	   The ST_NO_RESERVE_RELEASE flag disables the use of reserve on  open
	   and	release on close. If an attempt to use a ioctl of MTRESERVE or
	   MTRELEASE on a drive with this flag set, it will return an error of
	   ENOTTY (inappropriate ioctl for device).

       ST_READ_IGNORE_ILI

	   The	ST_READ_IGNORE_ILI  flag  is applicable only to variable block
	   devices which support the SILI bit option.  The  ST_READ_IGNORE_ILI
	   flag	 indicates  that SILI (supress incorrect length indicator) bit
	   will be set during reads.  When  this  flag	is  set,  short	 reads
	   (requested read size is less than the record size on the tape) will
	   be successful and the number of bytes transferred will be equal  to
	   the	record	size  on  the tape. The tape will be positioned at the
	   start of the next record skipping over the extra data (the  remain‐
	   ing	data  has been has been lost). Long reads (requested read size
	   is more than the record size on the tape) will see a large  perfor‐
	   mance  gain	when this flag is set, due to overhead reduction. When
	   this flag is not set, short reads will return an error of ENOMEM.

       ST_READ_IGNORE_EOFS

	   The ST_READ_IGNORE_EOFS flag is applicable only to 1/2"  Reel  Tape
	   drives and when performing consecutive reads only. It should not be
	   used for any	 other	tape  command.	Usually	 End-of-recorded-media
	   (EOM)  is  indicated	 by two EOF marks on 1/2" tape and application
	   cannot read past EOM. When this flag	 is  set,  two	EOF  marks  no
	   longer  indicate  EOM  allowing  applications  to read past two EOF
	   marks. In this case it is the responsibility of the application  to
	   detect  end-of-recorded-media  (EOM).  When	this flag is set, tape
	   operations  (like  MTEOM)  which  positions	the  tape  at  end-of-
	   recorded-media  will	 fail since detection of end-of-recorded-media
	   (EOM) is to be handled by the application.	This  flag  should  be
	   used	 when  backup  applications  have  embedded  double  filemarks
	   between files.

       ST_SHORT_FILEMARKS

	   The ST_SHORT_FILEMARKS flag is applicable only to EXABYTE 8mm  tape
	   drives which supports short filemarks. When this flag is set, short
	   filemarks is used for writing filemarks. Short filemarks could lead
	   to  tape  incompatible  with	 some  otherwise compatible device. By
	   default long filemarks will be used for writing filemarks.

       ST_EJECT_TAPE_ON_CHANGER_FAILURE

	   If  ST_EJECT_TAPE_ON_CHANGER_FAILURE	 flag  is  set,	 the  tape  is
	   ejected  automatically  if  the  tape  cartridge  is trapped in the
	   medium due to positioning problems of the medium changer.

	   The following ASC/ASCQ keys are defined to the reasons for  causing
	   tape	 ejection if ST_EJECT_TAPE_ON_CHANGER_FAILURE option is set to
	   0x200000:

	   Sense  ASC/ASCQ  Description

	   Key

	   4	  15/01	    Mechanical Failure

	   4	  44/00	    Internal Target Failure

	   2	  53/00	    Media Load or Eject Failed

	   4	  53/00	    Media Load or Eject Failed

	   4	  53/01	    Unload Tape Failure

       ST_RETRY_ON_RECOVERED_DEFERRED_ERROR

	   If ST_RETRY_ON_RECOVERED_DEFERRED_ERROR flag is set, the st	driver
	   will retry the last write if this cmd caused a check condition with
	   error code 0x71 and sense code 0x01. Some tape drives, notably  the
	   IBM 3090, require this option.

       ST_WORMABLE

	   When ST_WORMABLE is set, st attempts to detect the presence of WORM
	   media in the device.

       <number of densities> is the number of densities specified.  Each  tape
       drive can support up to four densities. The value entered should there‐
       fore be between 1 and 4; if less than 4, the remaining  densities  will
       be assigned a value of 0x0.

       <density>  is  a single-byte hexadecimal number. It can either be found
       in the device specification manual or be obtained from the device  ven‐
       dor.

       <default-density>  has  a  value between 0 and (<number of densities> -
       1).

       <non-motion time-out> Time in seconds that the drive should be able  to
       perform	any  SCSI  command that doesn't require tape to be moved. This
       includes mode sense, mode select, reserve, release, read block  limits,
       and test unit ready.

       <I/O  time-out> Time in seconds to perform data transfer I/O to or from
       tape including worst case error recovery.

       <rewind time-out> Time in seconds to rewind from anywhere  on  tape  to
       BOT including worst case recovery forcing buffered write data to tape.

       <space  time-out> Time in seconds to space to any file, block or end of
       data on tape. Including worst case  when	 any  form  of	cataloging  is
       invalid.

       <load  time-out>	 Time in seconds to load tape and be ready to transfer
       first block. This should include worst case recovery reading tape cata‐
       log or drive specific operations done at load.

       <unload	time-out> Time in seconds to unload tape. Should include worst
       case time to write to catalog, unthread, and tape cartridge  unloading.
       Also  should  include worst case time for any drive specific operations
       that are preformed at unload. Should not include	 rewind	 time  as  the
       driver rewinds tape before issuing the unload.

       <erase  time-out>  Time in seconds to preform a full (BOT to EOT) erase
       of longest medium with worst case error recovery.

   Device Statistics Support
       Each device maintains I/O statistics both for the device and  for  each
       partition  allocated  on	 that  device.	For each device/partition, the
       driver accumulates reads, writes, bytes read, and  bytes	 written.  The
       driver  also  takes  hi-resolution  time stamps at queue entry and exit
       points, which facilitates monitoring the residence time and  cumulative
       residence-length product for each queue.

       Each  device  also  has error statistics associated with it. These must
       include counters for hard errors, soft  errors  and  transport  errors.
       Other data may be implemented as required.

IOCTLS
       The  behavior  of  SCSI	tape positioning ioctls is the same across all
       devices which support them.  (Refer  to	mtio(7I).)  However,  not  all
       devices	support	 all  ioctls.  The  driver  returns an ENOTTY error on
       unsupported ioctls.

       The retension ioctl only applies to 1/4" cartridge tape devices. It  is
       used to restore tape tension, thus improving the tape's soft error rate
       after extensive start-stop operations or long-term storage.

       In order to increase performance of variable-length tape devices	 (par‐
       ticularly  when	they  are  used to read/write small record sizes), two
       operations in the MTIOCTOP ioctl, MTSRSZ and MTGRSZ, can be used to set
       and  get	 fixed	record lengths. The ioctl also works with fixed-length
       tape drives which allow multiple record sizes. The  min/max  limits  of
       record  size allowed on a driver are found by using a SCSI-2 READ BLOCK
       LIMITS command to the  device.  If  this	 command  fails,  the  default
       min/max	record	sizes allowed are 1 byte and 63k bytes. An application
       that needs to use a different record size opens the  device,  sets  the
       size  with  the MTSRSZ ioctl, and then continues with I/O. The scope of
       the change in record size remains until the device is closed. The  next
       open  to	 the  device resets the record size to the default record size
       (retrieved from st.conf).

       Note that the error status is reset by the MTIOCGET  get	 status	 ioctl
       call  or by the next read, write, or other ioctl operation. If no error
       has occurred (sense key is 0), the current file and record position  is
       returned.

ERRORS
       EACCES
		 The  driver is opened for write access and the tape is write-
		 protected or the tape unit is reserved by another host.

       EBUSY
		 The tape drive is in use by another process. Only one process
		 can  use  the	tape  drive at a time. The driver will allow a
		 grace period for the other process to finish before reporting
		 this error.

       EINVAL
		 The  number of bytes read or written is not a multiple of the
		 physical record size (fixed-length tape devices only).

       EIO
		 During opening, the tape device is not ready  because	either
		 no  tape  is  in the drive, or the drive is not on-line. Once
		 open, this error is returned if the  requested	 I/O  transfer
		 could not be completed.

       ENOTTY
		 This  indicates  that	the  tape  device does not support the
		 requested ioctl function.

       ENXIO
		 During opening, the tape device does not exist.

       ENOMEM
		 This indicates that the record size on the tape drive is more
		 than the requested size during read operation.

EXAMPLES
       Example 1 Global tape-config list property

       The following is an example of a global tape-config-list property:

	 tape-config-list =
	 "Magic DAT", "Magic 4mm Helical Scan", "magic-data",
	 "Major Appliance", "Major Appliance Tape", "major-tape";

	 magic-data  = 1,0x34,1024,0x1639,4,0,0x8c,0x8c,0x8c,3;
	 major-tape = 2,0x3c,0,0x18619,4,0x0,0x0,0x0,0x0,
		      3,0,0,30,120,0,0,36000;

	 name="st" class="scsi"
		   target=0 lun=0;
	 name="st" class="scsi"
		   target=1 lun=0;
	 name="st" class="scsi"
		   target=2 lun=0;
		   .
		   .
		   .
	 name="st" class="scsi"
		   target=6 lun=0;

       Example 2 Tape-config-list property applicable to target 2 only

       The  following  is an example of a tape-config-list property applicable
       to target 2 only:

	 name="st" class="scsi"
		 target=0 lun=0;
	 name="st" class="scsi"
		 target=1 lun=0;
	 name="st" class="scsi"
		 target=2 lun=0
		 tape-config-list =
		 "Magic	  DAT", "Magic 4mm Helical Scan", "magic-data"
		 magic-data = 1,0x34,1024,0x1639,4,0,0x8c,0x8c,0x8c,3;
	 name="st" class="scsi"
		 target=3 lun=0;
		   .
		   .
		   .
	 name="st" class="scsi"
		 target=6 lun=0;

   Large Record Sizes
       To support applications such as seismic	programs  that	require	 large
       record  sizes, the flag ST_NO_RECSIZE_LIMIT must be set in drive option
       in the configuration entry. A SCSI tape drive that  needs  to  transfer
       large  records  should  OR  this flag with other flags in the 'options'
       field in st.conf. (Refer to Tape Configuration.) By default, this  flag
       is  set	for  the  built-in  config  entries of Archive DAT and Exabyte
       drives.

       If this flag is set, the st driver issues a SCSI-2  READ	 BLOCK	LIMITS
       command	to  the device to determine the maximum record size allowed by
       it. If the command fails, st continues to use the maximum record	 sizes
       mentioned in the mtio(7I) man page.

       If  the	command	 succeeds, st restricts the maximum transfer size of a
       variable-length device to the minimum of that record size and the maxi‐
       mum DMA size that the host adapter can handle. Fixed-length devices are
       bound by the maximum DMA size allocated by the machine. Note that tapes
       created	with  a	 large	record	size  may  not	be readable by earlier
       releases or on other platforms.

       (Refer to the WARNINGS section for more information.)

   EOT Handling
       The Emulex drives have only a physical end of tape (PEOT); thus	it  is
       not  possible to write past EOT. All other drives have a logical end of
       tape (LEOT) before PEOT to guarantee flushing the data onto  the	 tape.
       The  amount  of	storage	 between LEOT and PEOT varies from less than 1
       Mbyte to about 20 Mbyte, depending on the tape drive.

       If EOT is encountered while writing an Emulex, no error is reported but
       the number of bytes transferred is 0 and no further writing is allowed.
       On all other drives, the first write that encounters EOT will return  a
       short  count  or	 0.  If a short count is returned, then the next write
       will return 0. After a zero count is returned, the next write returns a
       full  count  or	short  count. A following write returns 0 again. It is
       important that the number and size of trailer records be kept as	 small
       as  possible  to prevent data loss. Therefore, writing after EOT is not
       recommended.

       Reading past EOT is transparent to the user. Reading is stopped only by
       reading	EOF's.	For  1/2" reel devices, it is possible to read off the
       end of the reel if one reads past the two file marks which mark the end
       of recorded media.

FILES
       /kernel/drv/st.conf

	   driver configuration file

       /usr/include/sys/mtio.h

	   structures and definitions for mag tape io control commands

       /usr/include/sys/scsi/targets/stdef.h

	   definitions for SCSI tape drives

       /dev/rmt/[0− 127][l,m,h,u,c][b][n]

	   where   l,m,h,u,c   specifies   the	density	 (low,	medium,	 high,
	   ultra/compressed), b the optional BSD behavior (see mtio(7I)),  and
	   n the optional no rewind behavior. For example, /dev/rmt/0lbn spec‐
	   ifies unit 0, low density, BSD behavior, and no rewind.

	   For 1/2" reel tape devices (HP-88780), the densities are:

	   l   800 BPI density
	   m   1600 BPI density
	   h   6250 BPI density
	   c   data compression
	       (not supported on all modules)

	   For 8mm tape devices (Exabyte 8200/8500/8505):

	   l	 Standard 2 Gbyte format
	   m	 5 Gbyte format (8500, 8505 only)
	   h,c	 5 Gbyte compressed format (8505 only)

	   For 4mm DAT tape devices (Archive Python):

	   l	   Standard format
	   m,h,c   data compression

	   For all QIC (other than QIC-24) tape devices:

	   l,m,h,c   density of the tape cartridge type
		     (not all devices can read and
		     write all formats)

	   For QIC-24 tape devices (Emulex MT−02):

	   l	   QIC-11 Format
	   m,h,c   QIC-24 Format

SEE ALSO
       mt(1),  modload(1M),   modunload(1M),   open(2),	  read(2),   write(2),
       aioread(3C),   aiowrite(3C),  kstat(3KSTAT),  driver.conf(4),  scsi(4),
       standards(5), esp(7D), isp(7D), mtio(7I), ioctl(9E)

DIAGNOSTICS
       The st driver diagnostics may be printed to  the	 console  or  messages
       file.

       Each  diagnostic	 is  dependent	on  the	 value	of the system variable
       st_error_level. st_error_level may be set in the /etc/system file.  The
       default	setting	 for st_error_level is 4 (SCSI_ERR_RETRYABLE) which is
       suitable for most configurations since only  actual  fault  diagnostics
       are  printed. Settings range from values 0 (SCSI_ERR_ALL) which is most
       verbose, to 6 (SCSI_ERR_NONE) which is least verbose. See  stdef.h  for
       the  full  list of error-levels. SCSI_ERR_ALL level the amount of diag‐
       nostic information is likely to be excessive and unnecessary.

       The st driver diagnostics are described below:

	 Error for Command: <scsi_cmd_name()> Error Level:<error_class>
	 Requested Block: <blkno>  Error Block: <err_blkno>
	 Vendor: <name>: Serial Number: <inq_serial>
	 Sense Key: <es_key> ASC: 0x<es_add_code> (scsi_asc_ascq_name()>), ASCQ:
	 0x<es_qual_code>, FRU: 0x<ex_fru_code>

       where <error_class> may be any one of the following: "All,"  "Unknown,"
       "Informational," "Recovered," "Retryable," "Fatal"

       The command indicated by <scsi_cmd_name> failed. Requested Block repre‐
       sents the block where the transfer started. Error Block represents  the
       block  that  caused the error. Sense Key, ASC, ASCQ and FRU information
       is returned by the target in response to a request sense	 command.  See
       SCSI  protocol  documentation  for description of Sense Key, ASC, ASCQ,
       FRU.

       The st driver attempts to validate entries in the  st.conf  file.  Each
       field  in  the  entry is checked for upper and lower limits and invalid
       bits set.  The fields are named as follows in config string order:

		 conf version
		 drive type
		 block size
		 options
		 number of densities
		 density code
		 default density
		 non motion timeout
		 I/O timeout
		 space timeout
		 load timeout
		 unload timeout
		 erase timeout

       The st.conf diagnostics are described below:

	 <con-name> <field-in-err> <problem-with-field>

       where <con-name> is the name of the config string. Where <field-in-err>
       is  the field containing invalid entries and where <problem-with-field>
       describes the nature of the invalid entry.

	 Write/read: not modulo <n> block size

       The request size for fixed record size devices must be  a  multiple  of
       the specified block size.

	 Recovery by resets failed

       After  a	 transport error, the driver attempted to recover by issuing a
       device reset and then a bus reset if device reset failed. These	recov‐
       eries failed.

	 Periodic head cleaning required

       The  driver  reported that periodic head cleaning is now required. This
       diagnostic is generated either due to a threshold number of retries, or
       due  to	the  device  communicating to the driver that head cleaning is
       required.

	 Soft error rate (<n>%) during writing/reading was too high

       The soft error rate has exceeded the threshold specified by the vendor.

	 SCSI transport failed: reason 'xxxx': {retrying|giving up}

       The Host Bus Adapter (HBA) has failed to transport  a  command  to  the
       target  for the reason stated. The driver will either retry the command
       or, ultimately, give up.

	 Tape not inserted in drive

       A media access command was attempted while there was no	tape  inserted
       into  the specified drive. In this case, the drive returns sense key of
       DRIVE NOT READY.

	 Transport rejected

       The Host Bus Adapter (HBA) driver is not accepting commands after fail‐
       ing  to	successfully transport a scsi packet to the target. The actual
       status received by the st driver from the  underlying  HBA  driver  was
       either TRAN_FATAL_ERROR or TRAN_BADPKT.

	 Retrying command

       The  st	driver	failed	to  complete a command. However the command is
       retryable and will be retried.

	 Giving up

       The st driver has exhausted retries or otherwise is unable to retry the
       command and so is giving up.

	 No target struct for st%d

       The  st driver failed to obtain state information because the requested
       state structure was not allocated. The specified	 device	 was  probably
       not attached.

	 File mark detected

       The operation detected an end of file mark. (File marks signify the end
       of a file on the tape media).

	 End-of-media detected

       The operation reached the end of the tape media.

	 Exabyte soft error reporting failed. DAT soft error reporting failed

       The st driver was unable to determine if the soft error	threshold  had
       been exceeded because it did not successfully read the data it requires
       or did not obtain enough data. This data is  retrieved  using  the  log
       sense command.

	 Log sense parameter code does not make sense

       The  log sense command retrieves hardware statistics that are stored on
       the drive (for example, soft error counts and  retries.)	 If  the  data
       retrieved  from	the  drive is invalid, this message is printed and the
       data is not used.

	 Restoring tape position at fileno=%x, blkno=%lx....

       The st driver is positioning to the  specified  file  and  block.  This
       occurs on an open.

	 Failed to restore the last <file/block> position:
	 In this state, tape will be loaded at BOT during next open

       The  st	driver	could  not position to the specified location and will
       revert to the beginning of the tape when the next open is attempted.

	 Device does not support compression

       The compression facility of  the	 device	 was  requested.  However  the
       device does not have a hardware compression capability.

	 DAT soft error reset failed

       After  DAT  soft	 error	reporting, the counters within the device that
       accumulate this sense data need to be re-set. This operation failed.

	 Errors after pkt alloc (b_flags=0x%x, b_error=0x%x)

       Memory allocation for a scsi packet failed.

	 Incorrect length indicator set

       The drive reported the length of data requested in  a  READ  operation,
       was incorrect. Incorrect Length Indicator (ILI) is a very commonly used
       facility in SCSI tape protocol and should not be seen as an error  per-
       se.  Applications typically probe a new tape with a read of any length,
       using the returned length to the read system  call  for	future	reads.
       Along  with  this  operation,  an underlying ILI error is received. ILI
       errors are therefore informational only and are masked at  the  default
       st_error_level.

	 Data property (%s) has no value
	 Data property (%s) incomplete
	 Version # for data property (%s) greater than 1

       These  diagnostics  indicate  problems  in retrieving the values of the
       various property settings. The st driver is in the process  of  setting
       the property/parameter values for the tape drive using information from
       either the built-in table within the driver or from uncommented entries
       in  the	st.conf	 file.	The  effect on the system may be that the tape
       drive may be set with default or generic driver settings which may  not
       be appropriate for the actual type of tape drive being used.

	 st_attach-RESUME: tape failure tape position will be lost

       On a resume after a power management suspend, the previously known tape
       position is no longer valid. This can occur if  the  tape  was  changed
       while  the  system  was in power management suspend. The operation will
       not be retried.

	 Write Data Buffering has been deprecated. Your applications should
	 continue to work normally. However, they should be ported to use
	 Asynchronous I/O.

       Indicates that buffering has been removed from Solaris.

	 Cannot detach: fileno=%x, blkno=%lx

       The st driver cannot unload because the tape is not positioned  at  BOT
       (beginning  of  tape).  May  indicate  hardware	problems with the tape
       drive.

	 Variable record length I/O
	 Fixed record length (%d byte blocks) I/O

       Tape-drives can use either Fixed or  Variable  record  length.  If  the
       drive  uses  Fixed  length records, then the built in property table or
       the st.conf file will contain a non-zero record-length  property.  Most
       DAT,  Exabyte  and DLT drives support Variable record lengths. Many QIC
       format tape drives have historically been of Fixed record length.

	 Command will be retried
	  un_ncmds: %d can't retry cmd

       These  diagnostics  are	only  seen   with   tape   drives   with   the
       ST_RETRY_ON_RECOVERED_DEFERRED_ERROR  bit set. See stdef.h for explana‐
       tion of the specific usage of this setting.

WARNINGS
       Effective with Solaris 2.4, the ST_NO_RECSIZE_LIMIT flag is set for the
       built-in	 config	 entries  of  the  Archive  DAT and Exabyte drivers by
       default. (Refer to Large Record Sizes.) Tapes written with large	 block
       sizes  prior  to Solaris 2.4 may cause some applications to fail if the
       number of bytes returned by a read request is less than	the  requested
       block  size (for example, asking for 128 Kbytes and receiving less than
       64 Kbytes).

       The ST_NO_RECSIZE_LIMIT flag can be disabled in the  config  entry  for
       the device as a work-around. (Refer to Tape Configuration.) This action
       disables the ability to read and	 write	with  large  block  sizes  and
       allows  the  reading  of	 tapes written prior to Solaris 2.4 with large
       block sizes.

       (Refer to mtio(7I) for a description of maximum record sizes.)

BUGS
       Tape devices that do not return a BUSY status during tape loading  pre‐
       vent  user commands from being held until the device is ready. The user
       must delay issuing any tape operations until the tape device is	ready.
       This is not a problem for tape devices supplied by Sun Microsystems.

       Tape  devices  that  do	not  report  a blank check error at the end of
       recorded media may cause file positioning operations to fail. Some tape
       drives,	for  example,  mistakenly  report media error instead of blank
       check error.

				 Oct 22, 2008				ST(7D)
[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