Original question:
> It would be nice if I could read a tape written in tar format with a
> blocking factor of 200b (100k). The tape drive is a Quantum DLT-4000
> (tk-88?).
> Apparently the tz driver does not want to read anything beyond 64k.
> On the other hand, I can read the large blocks directly using 'scu'.
> Trying just a 'read()' call to the tz driver results in 65536 bytes being
> read, even if I request more (no error code).
> All this on a 1000A server, DUnix 4.0, with the tape drive as a single device
> on an extra narrow SCSI card (machine also has the onboard SCSI and
> a 3 channel RAID).
> I have to do this just once, so every hack, etc. would be most welcome.
> The goal is to get about 3G to the disk somehow. I have about 15G available.
> Moving the tape drive to an other machine is only a last resort (but
> Solaris 2.4 probably can handle it -- did that with an exabyte tape).
As it turned out I sent out the question just a bit early. A few minutes
later I found the solution (which only works for 4.0). One has to edit
/etc/ddr.dbase. First I used 'scu show device' to figure out the 'Vendor
Identification' (Quantum) and the 'Products Identification' (DLT4000)
strings. After this, I read the man page for 'tz', which strongly implies
that the DLT4000 is nearly identical to TZ88. So I edited the 'Dynamic
Device Recognition' config file (/etc/ddr.dbase), copied the entry
for TZ88, changed the 'Name' entry to 'Name = "Quantum" "DLT4000"'
(as reported by 'scu show device', preserving case -- not sure this is
required). After this I run '/sbin/ddr_config -c', which rebuilt the
binary database and notified the kernel (no reboot needed).
I am at home, so I could not test *that* tape, but I managed to write
a small tar file with 200b blocking and read it back without problems
('scu dump media' confirmed that the block size was indeed 200 x 512).
This solution only works for DUnix 4.0 (and later) as DDR was introduced
there. With 3.x, one probably has to edit /sys/data/cam_data.c and build
a new kernel.
From alan_at_nabeth.cxo.dec.com I learnt that DUnix defaults to 64k max
bclock size, while the TZ88 drive supports 16M-1 (as you can see from
ddr.dbase) which is the maximum allowed by the SCSI standard (didn't know
this one either).
Thanks to Alan,
Gyula
Received on Wed Dec 18 1996 - 06:16:58 NZDT