diff options
Diffstat (limited to 'Documentation/s390/TAPE')
-rw-r--r-- | Documentation/s390/TAPE | 122 |
1 files changed, 122 insertions, 0 deletions
diff --git a/Documentation/s390/TAPE b/Documentation/s390/TAPE new file mode 100644 index 000000000000..c639aa5603ff --- /dev/null +++ b/Documentation/s390/TAPE | |||
@@ -0,0 +1,122 @@ | |||
1 | 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 stabilized 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 | |||