ts(7) ts(7)
ts - tape support
ts
The tape support (TS) system consists of a tape support driver,
personality daemons, and a daemon to manage the personality daemons. For
information on how to configure tape support, see the ts.config(4) man
page.
The tape support driver passes all device-dependent tasks, except for I/O
processing, to a personality daemon. For optimal performance, I/O
requests are processed in the driver.
There is a personality daemon for each device type supported by the tape
support driver. Each personality daemon processes requests from the
driver, performs all device-dependent tape operations, and uses a SCSI
pass-through interface to communicate with the device.
A daemon, tsdaemon, manages the personality daemons. It invokes the
appropriate personality daemon on the first open of a tape device and
restarts personality daemons after abnormal terminations.
The existing IRIX tape driver, tpsc, continues to provide support for all
devices currently supported and coexists with the tape support system.
You can choose which driver interface to use for a particular device
type.
Hardware Configuration [Toc] [Back]
If a tape device detected during system startup is listed in the
ts.config table, identified by product and vendor identifiers, the device
is assigned to the tape support system. Devices supported by the tape
support system are defined by the ts_types table in the master.d/scsi
file.
Only the number of characters specified for the vendor or product
identifier is used on the comparison with the identifying information
returned by a device.
The ts_types table also defines the modes supported by the device and the
hardware inventory type of the device.
o The modes include variable block, compression, the speed, and a list
of density values supported and their corresponding alias and
hardware graph canonical names. The density values are used in a
device command to set the density.
o The hardware inventory type identifies the type of the device as
defined in the invent.h file.
Page 1
ts(7) ts(7)
A ts_types entry is defined as follows:
typedef struct ts_types {
u_char ts_hinv;
u_char ts_vendor[TS_MAX_VENDOR];
u_char ts_product[TS_MAX_PRODUCT];
uint ts_compress : 1;
uint ts_speed : 1;
uint ts_variable : 1;
uint_t ts_numdens;
char **ts_dens_hwg;
char **ts_dens_alias;
u_char ts_dens_code[TS_MAX_DENSITY];
} ts_types_t;
In the following example, the tape support driver supports all DLT 7000
and all STK TimberLine 9490 devices.
#define ts_dennum_dlt7000 2
char *ts_denhwg_dlt7000[] = { "7000", "4000"};
char *ts_densuf_dlt7000[] = { "7000", "4000"};
ts_types_t ts_types[] ={
{TPDLT,"","DLT7000",1,0,1,
ts_dennum_dtl7000, ts_denhwg_dlt7000, ts_densuf_dlt7000,
(0x1B/*7000*/0x1A/*4000*/,{0},{0},{0},{0},{0},{0}}},
(TPSTK9490,"STK","9490",1,0,1,
0,0,0,{0}};
};
In this example, compression, variable block I/O, and 2 density values
are supported on the DLT 7000s. A density code of 0x1B is used to set
the density when a device file with the .7000 suffix or a canonical name
including 7000 is opened or if no density is indicated on the device
file, since the first entry is also the default density. A density code
of 0x1A is used to set the density when a device file with the .4000
suffix or a canonical name including 4000 is opened.
Compression and variable block I/O is supported on the STK TimberLine
9490 devices. Multiple density values are not supported. Neither device
supports multiple speeds.
To add support for a new device, you must add device information to the
ts_types table, run an autoconfig to generate a new kernel, execute
chkconfig -f ts on, and restart the system to execute this kernel.
Page 2
ts(7) ts(7)
Personality Daemons [Toc] [Back]
The following personality daemons are available for the specified
devices:
o /usr/etc/ts/tsdlt7000 for DLT7000 and DLT8000
o /usr/etc/ts/ts3590 for IBM 3590
o /usr/etc/ts/ts9490 for STK TimberLine 9490
o /usr/etc/ts/tssd3 for STK RedWood SD-3
o /usr/etc/ts/ts9840 for STK 9840 and STK 9940
Personality-Daemon Error Logging [Toc] [Back]
The personality daemons use the embedded support partner (ESP) event
facility to record events related to tape errors and tape unloads. These
events are recorded with the event class "Tape". Messages are written to
the system log with unique sequence numbers (special ESP identifiers also
called TypeIds). The system administrator may configure special actions
that ESP may take when these events occur. For more information about
ESP usage, see the esp(5) man page.
Use the following espconfig command to see the events recorded in the
"Tape" class:
espconfig -list evtype -cd "Tape"
The personality daemons also record information about some device events
in an ASCII log file. The path to the log file is
/var/spool/ts/pd/log/tspd.log. The records contain a number of fields,
which are separated by the back quote character.
The fields are specified in a log record in the following order: (Double
back quotes indicate the field has no value.)
date Date of the event, the year, month, and day, as
yyyy/mm/dd.
time Time of the event, the hour, minute, and second, as
hh:mm:ss.
version The version number of the log record. Version 1 is
the only valid version.
event Event type. The following event types may be
supported:
Adaptor error A command ended in an adaptor
error.
Page 3
ts(7) ts(7)
Check error A command ended in a check
condition.
Clear Persistent reservation is cleared
by another host.
Log/Mode changed Log or mode parameter value
changed by another host.
Lost prsv Lost persistent reservation
because it is preempted or
cleared by another host.
Preempt A persistent reservation is
preempted by another host.
SCSI error A command ended in a SCSI error.
Reserve A reserve command is successfully
executed.
Release A release command is successfully
executed.
Unload An unload command is successfully
executed.
device name Device name without the /hw/tape prefix.
device type Device type.
volume id Volume identifier specified by the MTSETVID ioctl
command. Applications use this command to set the
volume identifier of a mounted volume in the
personality daemon.
Applications may set the volume identifier just
before mounting a tape. The following code sets a
volume identifier:
#include <mtio.h>
{
struct mtvid vid;
strncpy(vid.vid, "MYVID", MT_MAX_VID);
if (ioctl(fd, MTSETVID, &vid)) {
printf("MTSETVID error: %s.0, strerror(errno));
}
}
Page 4
ts(7) ts(7)
The volume identifier is cleared when a tape is
unloaded.
process id The process identifier of the process that made the
request.
last SCSI command The SCSI command that caused the log record to be
recorded.
sensekey The sensekey if the event is check error.
message A message generated by the personality daemon.
data type The type of data in the next field. The following
data types are recorded:
sense Sense bytes
log page A log sense page
command The command that has an error
data The data that has an error
data The data in groups of four bytes, recorded in 8 bytes
of hexadecimal digits, separated by a blank.
If a log record contains additional data type and data pairs, these
follow the initial pair, starting in field 14.
For additional information about the log file, see the tsarchive(1M) and
tserrpt(1M) man pages.
Personality-Daemon Configuration File [Toc] [Back]
When a personality daemon starts, it reads the configuration file for the
personality daemons if the file exists. This optional file,
/etc/config/tspd.config, contains values for the personality daemons.
The following options are supported:
TRACE
Enables debug tracing. The trace entries are entered in the
/usr/adm/SYSLOG file.
Each TRACE line in the personality-daemon configuration file applies
to a specific device. Any text between the # character and the end
of line, inclusive, is ignored. A blank or tab character must
precede a # character if the # character is within a line and not at
the beginning of the line.
Page 5
ts(7) ts(7)
Each line is composed of three fields:
TRACE pathname value
The option, TRACE, is in the first field. The other fields are as
follows:
pathname Specifies the name of the device file. pathname is
one of the following:
name Specifies any legal device name:
/dev/mt/tps*
/dev/rmt/tps*
/hw/tape/tps*
/dev/mt/*/lun*/c*p*
/dev/rmt/*/lun*/c*p*
/hw/tape/*/lun*/c*p*
all Specifies that TRACE applies to all devices.
A personality daemon only processes an option if
pathname matches the name of its own device file.
value Specifies whether TRACE is enabled. value is one of
the following:
on Turns tracing on.
off Turns tracing off.
PREVENT_REMOVAL
Prevents removal of mounted tapes while the tape device is opened.
Each PREVENT_REMOVAL line in the personality-daemon configuration
file applies to a specific device. Any text between the # character
and the end of line, inclusive, is ignored. A blank or tab
character must precede a # character if the # character is within a
line and not at the beginning of the line.
Each line is composed of three fields:
PREVENT_REMOVAL pathname value
The option, PREVENT_REMOVAL, is in the first field. The other
fields are as follows:
pathname Specifies the name of the device file. pathname is
one of the following:
name Specifies any legal device name:
/dev/mt/tps*
/dev/rmt/tps*
Page 6
ts(7) ts(7)
/hw/tape/tps*
/dev/mt/*/lun*/c*p*
/dev/rmt/*/lun*/c*p*
/hw/tape/*/lun*/c*p*
all Specifies that PREVENT_REMOVAL applies to all
devices.
A personality daemon only processes an option if
pathname matches the name of its own device file.
value Specifies whether PREVENT_REMOVAL is enabled. value
is one of the following:
on Prevents tape removal while the tape device is
opened.
off Allows tape removal while the tape device is
opened.
The following example shows a configuration file with 2 lines. When
these lines are read by personality daemons supporting the
/hw/tape/tps12d3 and /hw/tape/tps5d6 devices, tracing is turned off for
the /hw/tape/tps12d3 device and on for the /hw/tape/tps5d6 device.
TRACE /hw/tape/tps12d3 off
TRACE /hw/tape/tps5d6 on
For information on changing option settings after the system has been
started, see the tsset(1M) man page.
/dev/mt/lun*stat device file
/dev/mt/*/lun*stat/c*p* device file
/dev/rmt/lun*stat device file
/dev/rmt/*/lun*stat/c*p* device file
/etc/config/ts.config tape support configuration file
/etc/config/tspd.config optional personality-daemon
configuration file
/hw/tape/lun*stat device file
/hw/tape/*/lun*stat/c*p* device file
Page 7
ts(7) ts(7)
invent.h hardware inventory file
master.d/scsi file that contains the ts_types table
/var/spool/ts/pd/log/tspd.log tape support log file
tsarchive(1M), tsdaemon(1M), tserrpt(1M), tsset(1M), tsstop(1M),
ts.config(4).
PPPPaaaaggggeeee 8888 [ Back ]
|