1 |
1275 |
phoenix |
Channel attached Tape device driver
|
2 |
|
|
|
3 |
|
|
-----------------------------WARNING-----------------------------------------
|
4 |
|
|
This driver is considered to be EXPERIMENTAL. Do NOT use it in
|
5 |
|
|
production environments. Feel free to test it and report problems back to us.
|
6 |
|
|
-----------------------------------------------------------------------------
|
7 |
|
|
|
8 |
|
|
The LINUX for zSeries tape device driver manages channel attached tape drives
|
9 |
|
|
which are compatible to IBM 3480 or IBM 3490 magnetic tape subsystems. This
|
10 |
|
|
includes various models of these devices (for example the 3490E).
|
11 |
|
|
|
12 |
|
|
|
13 |
|
|
Tape driver features
|
14 |
|
|
|
15 |
|
|
The device driver supports a maximum of 128 tape devices.
|
16 |
|
|
No official LINUX device major number is assigned to the zSeries tape device
|
17 |
|
|
driver. It allocates major numbers dynamically and reports them on system
|
18 |
|
|
startup.
|
19 |
|
|
Typically it will get major number 254 for both the character device front-end
|
20 |
|
|
and the block device front-end.
|
21 |
|
|
|
22 |
|
|
The tape device driver needs no kernel parameters. All supported devices
|
23 |
|
|
present are detected on driver initialization at system startup or module load.
|
24 |
|
|
The devices detected are ordered by their subchannel numbers. The device with
|
25 |
|
|
the lowest subchannel number becomes device 0, the next one will be device 1
|
26 |
|
|
and so on.
|
27 |
|
|
|
28 |
|
|
|
29 |
|
|
Tape character device front-end
|
30 |
|
|
|
31 |
|
|
The usual way to read or write to the tape device is through the character
|
32 |
|
|
device front-end. The zSeries tape device driver provides two character devices
|
33 |
|
|
for each physical device -- the first of these will rewind automatically when
|
34 |
|
|
it is closed, the second will not rewind automatically.
|
35 |
|
|
|
36 |
|
|
The character device nodes are named /dev/rtibm0 (rewinding) and /dev/ntibm0
|
37 |
|
|
(non-rewinding) for the first device, /dev/rtibm1 and /dev/ntibm1 for the
|
38 |
|
|
second, and so on.
|
39 |
|
|
|
40 |
|
|
The character device front-end can be used as any other LINUX tape device. You
|
41 |
|
|
can write to it and read from it using LINUX facilities such as GNU tar. The
|
42 |
|
|
tool mt can be used to perform control operations, such as rewinding the tape
|
43 |
|
|
or skipping a file.
|
44 |
|
|
|
45 |
|
|
Most LINUX tape software should work with either tape character device.
|
46 |
|
|
|
47 |
|
|
|
48 |
|
|
Tape block device front-end
|
49 |
|
|
|
50 |
|
|
The tape device may also be accessed as a block device in read-only mode.
|
51 |
|
|
This could be used for software installation in the same way as it is used with
|
52 |
|
|
other operation systems on the zSeries platform (and most LINUX
|
53 |
|
|
distributions are shipped on compact disk using ISO9660 filesystems).
|
54 |
|
|
|
55 |
|
|
One block device node is provided for each physical device. These are named
|
56 |
|
|
/dev/btibm0 for the first device, /dev/btibm1 for the second and so on.
|
57 |
|
|
You should only use the ISO9660 filesystem on LINUX for zSeries tapes because
|
58 |
|
|
the physical tape devices cannot perform fast seeks and the ISO9660 system is
|
59 |
|
|
optimized for this situation.
|
60 |
|
|
|
61 |
|
|
|
62 |
|
|
Tape block device example
|
63 |
|
|
|
64 |
|
|
In this example a tape with an ISO9660 filesystem is created using the first
|
65 |
|
|
tape device. ISO9660 filesystem support must be built into your system kernel
|
66 |
|
|
for this.
|
67 |
|
|
The mt command is used to issue tape commands and the mkisofs command to
|
68 |
|
|
create an ISO9660 filesystem:
|
69 |
|
|
|
70 |
|
|
- create a LINUX directory (somedir) with the contents of the filesystem
|
71 |
|
|
mkdir somedir
|
72 |
|
|
cp contents somedir
|
73 |
|
|
|
74 |
|
|
- insert a tape
|
75 |
|
|
|
76 |
|
|
- ensure the tape is at the beginning
|
77 |
|
|
mt -f /dev/ntibm0 rewind
|
78 |
|
|
|
79 |
|
|
- set the blocksize of the character driver. The blocksize 2048 bytes
|
80 |
|
|
is commonly used on ISO9660 CD-Roms
|
81 |
|
|
mt -f /dev/ntibm0 setblk 2048
|
82 |
|
|
|
83 |
|
|
- write the filesystem to the character device driver
|
84 |
|
|
mkisofs -o /dev/ntibm0 somedir
|
85 |
|
|
|
86 |
|
|
- rewind the tape again
|
87 |
|
|
mt -f /dev/ntibm0 rewind
|
88 |
|
|
|
89 |
|
|
- Now you can mount your new filesystem as a block device:
|
90 |
|
|
mount -t iso9660 -o ro,block=2048 /dev/btibm0 /mnt
|
91 |
|
|
|
92 |
|
|
TODO List
|
93 |
|
|
|
94 |
|
|
- Driver has to be stabelized still
|
95 |
|
|
|
96 |
|
|
BUGS
|
97 |
|
|
|
98 |
|
|
This driver is considered BETA, which means some weaknesses may still
|
99 |
|
|
be in it.
|
100 |
|
|
If an error occurs which cannot be handled by the code you will get a
|
101 |
|
|
sense-data dump.In that case please do the following:
|
102 |
|
|
|
103 |
|
|
1. set the tape driver debug level to maximum:
|
104 |
|
|
echo 6 >/proc/s390dbf/tape/level
|
105 |
|
|
|
106 |
|
|
2. re-perform the actions which produced the bug. (Hopefully the bug will
|
107 |
|
|
reappear.)
|
108 |
|
|
|
109 |
|
|
3. get a snapshot from the debug-feature:
|
110 |
|
|
cat /proc/s390dbf/tape/hex_ascii >somefile
|
111 |
|
|
|
112 |
|
|
4. Now put the snapshot together with a detailed description of the situation
|
113 |
|
|
that led to the bug:
|
114 |
|
|
- Which tool did you use?
|
115 |
|
|
- Which hardware do you have?
|
116 |
|
|
- Was your tape unit online?
|
117 |
|
|
- Is it a shared tape unit?
|
118 |
|
|
|
119 |
|
|
5. Send an email with your bug report to:
|
120 |
|
|
mailto:Linux390@de.ibm.com
|
121 |
|
|
|
122 |
|
|
|