1Channel attached Tape device driver 2 3-----------------------------WARNING----------------------------------------- 4This driver is considered to be EXPERIMENTAL. Do NOT use it in 5production environments. Feel free to test it and report problems back to us. 6----------------------------------------------------------------------------- 7 8The LINUX for zSeries tape device driver manages channel attached tape drives 9which are compatible to IBM 3480 or IBM 3490 magnetic tape subsystems. This 10includes various models of these devices (for example the 3490E). 11 12 13Tape driver features 14 15The device driver supports a maximum of 128 tape devices. 16No official LINUX device major number is assigned to the zSeries tape device 17driver. It allocates major numbers dynamically and reports them on system 18startup. 19Typically it will get major number 254 for both the character device front-end 20and the block device front-end. 21 22The tape device driver needs no kernel parameters. All supported devices 23present are detected on driver initialization at system startup or module load. 24The devices detected are ordered by their subchannel numbers. The device with 25the lowest subchannel number becomes device 0, the next one will be device 1 26and so on. 27 28 29Tape character device front-end 30 31The usual way to read or write to the tape device is through the character 32device front-end. The zSeries tape device driver provides two character devices 33for each physical device -- the first of these will rewind automatically when 34it is closed, the second will not rewind automatically. 35 36The 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 38second, and so on. 39 40The character device front-end can be used as any other LINUX tape device. You 41can write to it and read from it using LINUX facilities such as GNU tar. The 42tool mt can be used to perform control operations, such as rewinding the tape 43or skipping a file. 44 45Most LINUX tape software should work with either tape character device. 46 47 48Tape block device front-end 49 50The tape device may also be accessed as a block device in read-only mode. 51This could be used for software installation in the same way as it is used with 52other operation systems on the zSeries platform (and most LINUX 53distributions are shipped on compact disk using ISO9660 filesystems). 54 55One 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. 57You should only use the ISO9660 filesystem on LINUX for zSeries tapes because 58the physical tape devices cannot perform fast seeks and the ISO9660 system is 59optimized for this situation. 60 61 62Tape block device example 63 64In this example a tape with an ISO9660 filesystem is created using the first 65tape device. ISO9660 filesystem support must be built into your system kernel 66for this. 67The mt command is used to issue tape commands and the mkisofs command to 68create 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 92TODO List 93 94 - Driver has to be stabilized still 95 96BUGS 97 98This driver is considered BETA, which means some weaknesses may still 99be in it. 100If an error occurs which cannot be handled by the code you will get a 101sense-data dump.In that case please do the following: 102 1031. set the tape driver debug level to maximum: 104 echo 6 >/proc/s390dbf/tape/level 105 1062. re-perform the actions which produced the bug. (Hopefully the bug will 107 reappear.) 108 1093. get a snapshot from the debug-feature: 110 cat /proc/s390dbf/tape/hex_ascii >somefile 111 1124. 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 1195. Send an email with your bug report to: 120 mailto:Linux390@de.ibm.com 121