QIC cartridge tape questions

Richard Stevens stevens at hsi.UUCP
Tue Jul 24 23:05:21 AEST 1990


Although I've used "real" mag tapes under Unix for years, I'm new to
the cartridge tape world and have a few questions (which I haven't
found answers to in any of the manuals that I have).

I'm using a QIC-150 cartridge tape drive (SCSI interface) on a
Data General AViiON, running DG/UX 4.30.  I'm trying to port a tape
copying program from a BSD VAX and don't know if the problems I'm
having are endemic to cartridge tapes in general, or if DG's tape
driver is brain-damaged.

What are the differences between these cartridge tape drives and
"real" mag tapes ?  I'm aware of the limitation of writing 512-byte
physical blocks.  That's fine -- everything I plan to write to the
tape will be multiples of 512.  Is this the only difference ?
Can I read and write EOF markers just like normal tapes ?
Do they use a double EOF to mark the logical EOT ?

The problems I'm having are with *multiple* files on a single tape.
(Multiple tape files, not multiple Unix files.)

For example, I rewind the tape, then write some records to the
tape using tar.  I can read the tape using tar without any problems.
But, if I rewind the tape, forward space one file (no-rewind device,
of course) and then try to read the next file (expecting to hit the
second EOF that should have been written when tar closed the device),
I get a read error.  This implies that
	(1) the driver didn't write two EOFs when tar closed the device;
	(2) cartridge tapes don't use double EOFs to delineate the
	    logical EOT;
	(3) the driver doesn't handle the reading of two consecutive
	    EOFs correctly.

As another test I rewind the tape and write some records to it using
tar again.  When the tape is rewound I forward space one file, then
use mt to write a single EOF.  This generates an "Invalid argument"
error from the mt command.  This implies that
	(1) you can't write an EOF after another EOF (i.e., you can't
	    write a double EOF on the tape);
	(2) the driver is really broken.

Any pointers would be appreciated.

	Richard Stevens
	3M Health Information Systems, Wallingford, CT
	   stevens at hsi.com
           ... { uunet | yale } ! hsi ! stevens



More information about the Comp.unix.questions mailing list