]>
Commit | Line | Data |
---|---|---|
1da177e4 LT |
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 |