st(4d) 맨 페이지 - 윈디하나의 솔라나라

개요

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

st(4d)

st(4D)                    Device Drivers & /dev files                   st(4D)

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(4I) 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/amd64/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  an‐
       other 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 does 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(4I)
       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 dri‐
       ver 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(7)). However,
       if  a command not found in the above list is used, a reservation occurs
       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(4I))  and  asyn‐
       chronous tape operations (see mtio(4I), 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.


       If the low density format is used, no indication is given that the dri‐
       ver has overridden the format you selected. Other formats issue a warn‐
       ing  message  to inform you of an overridden format selection. Some de‐
       vices 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.

   Data Protection
       Drives  that  support SCSI T10 standard Logical Block Protection have a
       minor node that have the letter d after the  device  number.  If  these
       nodes  are  opened this enables this protection. This sets the drive to
       check per block CRCs that are added to each block as they  are  written
       and  again  when  those  blocks are read back. The host also checks and
       compare the CRCs before returning them to the  reading  application  to
       ensure there has been no data corruption.

   Tape Configuration
       The  st  driver has a built-in configuration table for most tape drives
       supported by Oracle. 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 sup‐
       plied in st.conf as global properties that apply to each  node,  or  as
       properties  that  are applicable to one node only. By supplying the in‐
       formation in st.conf, the built-in configuration is overridden and  the
       st  driver  does  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(5) for more informa‐
       tion.)


       <vid+pid> is the string that is returned by the tape device on  a  SCSI
       inquiry  command.  This  string  can 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 represented by
       their octal equivalent (for example, \042 and  \047).  Trailing  spaces
       can be truncated.


       <pretty print> is used to report the device on the console. This string
       can have zero length, in which case the <vid+pid> is 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.) corresponding
       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 can 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/in‐
       clude/sys/mtio.h. For third party  tape  configuration,  the  following
       generic types are recommended:

       tab();  lw(2.75i)  lw(2.75i)  MT_ISQIC0x32  MT_ISREEL0x33  MT_ISDAT0x34
       MT_IS8MM0x35  MT_ISOTHER0x36   MT_ISTAND25G0x37   MT_ISDLT0x38   MT_IS‐
       STK98400x39 MT_ISBMDLT10x3A MT_LTO0x3B



       <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. 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).

       tab(); lw(2.75i) lw(2.75i) ST_VARIABLE0x0001 ST_QIC0x0002 ST_REEL0x0004
       ST_BSF0x0008 ST_BSR0x0010 ST_LONG_ERASE0x0020 ST_AUTODEN_OVERRIDE0x0040
       ST_NOBUF0x0080 ST_KNOWS_EOD0x0200 ST_UNLOADABLE0x0400 ST_SOFT_ERROR_RE‐
       PORTING0x0800      ST_LONG_TIMEOUTS0x1000     ST_NO_RECSIZE_LIMIT0x8000
       ST_MODE_SEL_COMP0x10000    ST_NO_RESERVE_RELEASE0x20000     ST_READ_IG‐
       NORE_ILI0x40000  ST_READ_IGNORE_EOFS0x80000  ST_SHORT_FILEMARKS0x100000
       ST_EJECT_TAPE_ON_CHANGER_FAILURE0x200000      ST_RETRY_ON_RECOVERED_DE‐
       FERRED_ERROR0x400000 ST_WORMABLE0x1000000


       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-se‐
           lect"/"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 does not complain if the st driver is
           unloaded and loaded again (see modload(8) and  modunload(8)).  That
           is, the driver returns the correct inquiry string.


       ST_SOFT_ERROR_REPORTING

           The  flag  indicates  the tape device performs a "request sense" or
           "log sense" command when the device is closed. Currently, only  Ex‐
           abyte 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 is not be broken into smaller blocks can be  deter‐
           mined from the mt_bf returned from the MTIOCGET  ioctl(). This num‐
           ber  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, can need a specific density code for select‐
           ing or deselecting compression. Please refer to the device specific
           SCSI  manual.  When the flag is set, compression is enabled only if
           the c or u device is used. When the lower 2 densities  of  a  drive
           are  identically  configured  and the upper 2 densities are identi‐
           cally configured, but the lower and upper differ  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  returns  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 (suppress incorrect length indicator) bit
           sets during reads. When this flag is set,  short  reads  (requested
           read  size  is less than the record size on the tape) is successful
           and the number of bytes transferred is equal to the record size  on
           the  tape.  The  tape is positioned at the start of the next record
           skipping over the extra data (the remaining data has been has  been
           lost). Long reads (requested read size is more than the record size
           on  the  tape) sees a large performance gain when this flag is set,
           due to overhead reduction. When this flag is not set,  short  reads
           returns 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 op‐
           erations  (like MTEOM) which positions the tape at end-of-recorded-
           media fails 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  de‐
           fault long filemarks is 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:

           tab();  lw(0.18i) lw(0.89i) lw(4.44i) lw(0.18i) lw(0.89i) lw(4.44i)
           Sense KeyASC/ASCQDescription 415/01Mechanical Failure  444/00Inter‐
           nal  Target  Failure  253/00Media  Load or Eject Failed 453/00Media
           Load or Eject Failed 453/01Unload Tape Failure



       ST_RETRY_ON_RECOVERED_DEFERRED_ERROR

           If ST_RETRY_ON_RECOVERED_DEFERRED_ERROR flag is set, the st  driver
           retries  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  are
       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 does not 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  in‐
       valid.


       <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  performed  at  unload. Should not include rewind time as the
       driver rewinds tape before issuing the unload.


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


       Devices that support Data Protection requires a conf file entry to con‐
       figure  this  feature.  After  the st_dadp_settings= entry is a list of
       drives and their configurations. Each list member has  the  Vendor  and
       Product in double quotes, a comma, then an CRC algorithm name in double
       quotes,  a  comma, a configuration name to be associated with that type
       of drive, which is also double quoted. Each entry is delimited from the
       next entry by a comma, and the last entry is terminated  with  a  semi‐
       colon.


       The  currently  supported  CRC  algorithms  are sb-2, crc32c, and reed-
       solomon.


       If you wish to explicitly disable data protection for type of drive you
       can use the name DISABLED to prevent Data protection.


       If a match is found between an entry in the  st_dadp_settings  and  the
       Inquiry  information  returned  from a drive being configured, it looks
       for and used the configuration name specified.


       Each named configuration has a unique name followed by  an  equal  sign
       and four values.

       <method>      The  values that are mode selected to the drive to put it
                     into Data Protection mode. This entry is  followed  by  a
                     comma.


       <crc-size>    The number of bytes required to contain the CRC. This en‐
                     try is followed by a comma.


       <data_mod>    If the drive requires data to be evenly divisible by spe‐
                     cific  value,  usually the power of 2, that power of 2 is
                     used here. If data size must be evenly  divisible  by  4,
                     you  would  use 2, since 2 to the second power is 4. This
                     entry is followed by a comma.


       <crc_seed>    The initial value used to start the CRC calculation.



       Each named configuration is completed with a semicolon.

   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 dri‐
       ver  accumulates reads, writes, bytes read, and bytes written. The dri‐
       ver 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 can be implemented as required.

IOCTLS
       The behavior of SCSI tape positioning ioctls is the same across all de‐
       vices which support them. (Refer to mtio(4I).) 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 op‐
       erations  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).


       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  oc‐
       curred  (sense  key  is 0), the current file and record position is re‐
       turned.

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 allows 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 re‐
                 quested 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 Using a 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 Using a tape-config-list Property



       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;


       Example 3 Using st_dadp_settings



       Where d is data Protection enabled, l,m,h,u,c specify the density (low,
       medium,  high,  ultra/compressed),  b is the optional BSD behavior (see
       mtio(4I)), and n is the optional no rewind behavior, the following  ex‐
       ample uses st_dadp_settings:


         st_dadp_settings=
         "aVENDOR aDRIVETYPE", "sb-2", "vendor-drive-sb-2";

         vendor-drive-sb-2= 0x02,4,0,-1;
         /dev/rmt/[0- 127][d][l,m,h,u,c][b][n]


   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(4I) manual 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.  Tapes  created
       with  a large record size can 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  returns  a
       short count or 0. If a short count is returned, then the next write re‐
       turns  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  impor‐
       tant  that  the  number and size of trailer records be kept as small as
       possible to prevent data loss. Therefore, writing after EOT is not rec‐
       ommended.


       Reading past EOT is transparent to the user. Reading is stopped only by
       reading EOFs. 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][d][l,m,h,u,c][b][n]

           where d is data Protection enabled, l,m,h,u,c specifies the density
           (low,  medium, high, ultra/compressed), b the optional BSD behavior
           (see mtio(4I)), and n the optional no rewind behavior. For example,
           /dev/rmt/0lbn specifies unit 0, low density, BSD behavior,  and  no
           rewind.

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


           tab(); lw(0.79i) lw(4.71i) l800 BPI density m1600 BPI density h6250
           BPI density cT{ data compression (not supported on all modules) T}

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


           tab(); lw(0.79i) lw(4.71i) lStandard 2 Gbyte format m5 Gbyte format
           (8500, 8505 only) h,c5 Gbyte compressed format (8505 only)

           For 4mm DAT tape devices (Archive Python):


           tab(); lw(0.79i) lw(4.71i) lStandard format m,h,cdata compression

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


           tab();  lw(0.79i) lw(4.71i) l,m,h,cT{ density of the tape cartridge
           type (not all devices can read and write all formats) T}

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

           tab(); lw(0.79i) lw(4.71i) lQIC-11 Format m,h,cQIC-24 Format



ATTRIBUTES
       See attributes(7) for a description of the following attributes:

       tab() box; cw(2.75i) |cw(2.75i) lw(2.75i) |lw(2.75i) ATTRIBUTE  TYPEAT‐
       TRIBUTE VALUE _ ArchitectureSPARC, x86 _ Availabilitysystem/kernel


SEE ALSO
       mt(1),   open(2),   read(2),   write(2),   aioread(3C),   aiowrite(3C),
       kstat(3KSTAT), mtio(4I), driver.conf(5),  scsi(5),  standards(7),  mod‐
       load(8), modunload(8), ioctl(9E)

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


       Each diagnostic is dependent on the value of the system variable st_er‐
       ror_level. st_error_level can be set in the /etc/system file.  The  de‐
       fault  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> can be any one of the following: All, Unknown,  In‐
       formational, 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 descriptions 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 re‐
       quired.

         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 either retries the command or,
       ultimately, gives 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 ei‐
       ther TRAN_FATAL_ERROR or TRAN_BADPKT.

         Retrying command



       The st driver failed to complete a  command.  However  the  command  is
       retryable and is 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 re‐
       trieved 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  oc‐
       curs on an open.

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



       The  st driver could not position to the specified location and reverts
       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  de‐
       vice does not have a hardware compression capability.

         DAT soft error reset failed



       After DAT soft error reporting, the counters within the device that ac‐
       cumulate 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 er‐
       rors  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  can  be  that  the  tape
       drive  can be set with default or generic driver settings which can not
       be appropriate for the actual type of tape drive being used.

         st_attach-RESUME: tape failure tape position is 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 is 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 contains 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 is 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  de‐
       fault.  (Refer  to  Large Record Sizes.) Tapes written with large block
       sizes prior to Solaris 2.4 can 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  al‐
       lows the reading of tapes written prior to Solaris 2.4 with large block
       sizes.


       (Refer to mtio(4I) 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 Oracle.


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

Oracle Solaris 11.4               15 Mar 2024                           st(4D)
맨 페이지 내용의 저작권은 맨 페이지 작성자에게 있습니다.
RSS ATOM XHTML 5 CSS3