Channel attached Tape device driver 

-----------------------------WARNING-----------------------------------------
This driver is considered to be EXPERIMENTAL. Do NOT use it in 
production environments. Feel free to test it and report problems back to us. 
-----------------------------------------------------------------------------

The LINUX for zSeries tape device driver manages channel attached tape drives 
which are compatible to IBM 3480 or IBM 3490 magnetic tape subsystems. This 
includes various models of these devices (for example the 3490E). 


Tape driver features 

The device driver supports a maximum of 128 tape devices. 
No official LINUX device major number is assigned to the zSeries tape device 
driver. It allocates major numbers dynamically and reports them on system 
startup. 
Typically it will get major number 254 for both the character device front-end 
and the block device front-end. 

The tape device driver needs no kernel parameters. All supported devices 
present are detected on driver initialization at system startup or module load.
The devices detected are ordered by their subchannel numbers. The device with 
the lowest subchannel number becomes device 0, the next one will be device 1 
and so on. 


Tape character device front-end 

The usual way to read or write to the tape device is through the character 
device front-end. The zSeries tape device driver provides two character devices
for each physical device -- the first of these will rewind automatically when 
it is closed, the second will not rewind automatically. 

The character device nodes are named /dev/rtibm0 (rewinding) and /dev/ntibm0 
(non-rewinding) for the first device, /dev/rtibm1 and /dev/ntibm1 for the 
second, and so on. 

The character device front-end can be used as any other LINUX tape device. You 
can write to it and read from it using LINUX facilities such as GNU tar. The 
tool mt can be used to perform control operations, such as rewinding the tape 
or skipping a file. 

Most LINUX tape software should work with either tape character device. 


Tape block device front-end 

The tape device may also be accessed as a block device in read-only mode. 
This could be used for software installation in the same way as it is used with 
other operation systems on the zSeries platform (and most LINUX 
distributions are shipped on compact disk using ISO9660 filesystems). 

One block device node is provided for each physical device. These are named 
/dev/btibm0 for the first device, /dev/btibm1 for the second and so on. 
You should only use the ISO9660 filesystem on LINUX for zSeries tapes because 
the physical tape devices cannot perform fast seeks and the ISO9660 system is 
optimized for this situation. 


Tape block device example 

In this example a tape with an ISO9660 filesystem is created using the first 
tape device. ISO9660 filesystem support must be built into your system kernel
for this. 
The mt command is used to issue tape commands and the mkisofs command to 
create an ISO9660 filesystem: 

- create a LINUX directory (somedir) with the contents of the filesystem 
     mkdir somedir
     cp contents somedir 

- insert a tape 

- ensure the tape is at the beginning 
     mt -f /dev/ntibm0 rewind 

- set the blocksize of the character driver. The blocksize 2048 bytes
  is commonly used on ISO9660 CD-Roms
     mt -f /dev/ntibm0 setblk 2048 

- write the filesystem to the character device driver 
     mkisofs -o /dev/ntibm0 somedir 

- rewind the tape again 
     mt -f /dev/ntibm0 rewind 

- Now you can mount your new filesystem as a block device: 
     mount -t iso9660 -o ro,block=2048 /dev/btibm0 /mnt 

TODO List 

   - Driver has to be stabilized still

BUGS 

This driver is considered BETA, which means some weaknesses may still
be in it.
If an error occurs which cannot be handled by the code you will get a 
sense-data dump.In that case please do the following: 

1. set the tape driver debug level to maximum: 
     echo 6 >/proc/s390dbf/tape/level 

2. re-perform the actions which produced the bug. (Hopefully the bug will 
   reappear.) 

3. get a snapshot from the debug-feature: 
     cat /proc/s390dbf/tape/hex_ascii >somefile 

4. Now put the snapshot together with a detailed description of the situation 
   that led to the bug: 
 - Which tool did you use? 
 - Which hardware do you have? 
 - Was your tape unit online? 
 - Is it a shared tape unit? 

5. Send an email with your bug report to: 
     mailto:Linux390@de.ibm.com 


