SUMMARY: Large blocks on tape (100k)

From: Gyula Szokoly <szgyula_at_skysrv.Pha.Jhu.EDU>
Date: Wed, 18 Dec 1996 00:04:20 -0500 (EST)

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

This archive was generated by hypermail 2.4.0 : Wed Nov 08 2023 - 11:53:47 NZDT