Question : Problem: DLT tape gives only half blocks back of what was written.

Some 11 Tb was dumped for me on 330 DLT tapes using a blocksize of 512Kb.

When I read those tapes on a HP target machine I get only the 1st half of every block.
Funny that it doesn't matter if I use dd with bs=256k or bs=512k, the result is the same:
the first 256Kb of every block. Even a JAVA 1.4 program using RandomAccessFile to byte[512*1024]
produces the same result.
I presume that the original writing program (in C) wrote some SCSI commands to the drive
in order to get it to write (and read) 512 Kb blocks.

Who knows how to archieve the reading of all 35Gb per tape?

;JOOP!

Answer : Problem: DLT tape gives only half blocks back of what was written.

Well the SCSI Mode Select command is used to set the block size. Here is a copy from the DLT 7000 SCSI Reference Manual.  

SCSI Commands
MODE SELECT (6) / (10) Command (15h) / (55h)
MODE SELECT Mode Parameter List - Field Descriptions

Header
4 bytes in length, contains information about the remainder of the
Parameter List and is always present.

Block Descriptor
8 bytes in length, allows the initiator to set the drive’s Logical Block Size
and number of Descriptor Logical Block Addresses.
-----------------------------------------------------------
But it would problably be better if the details were provided, such as:
Model DLT drive used to backup.
Model DLT drive used to restore.
OS and application used to backup.
Does each tape contain a separate backup?
or
Does the data just span from one tape to the next to the next?
If the latter are the tapes labled in order?
Random Solutions  
 
programming4us programming4us