Recovering mxtar data from overfilled tapes

Steven G. Smith (sgs@Glue.umd.edu)
Mon, 13 Feb 1995 12:39:27 -0500 (EST)

I have some mxtar data tapes which have problems in that the user has
tried to add data beyond the end of the tape. When this happened, the
tape drive rewound to the beginning of the tape and put a EOT, end of
tape, mark there. None of the utilities I've tried (tar, mt & dd) can
convince the drive to go past that mark. If I'm not mistaken, advancing
the tape by hand doesn't work either, because the first access to even
the non-rewinding tape device after a tape is placed in the drive rewinds
to the beginning of the tape.

Working with a practice tape on which I've duplicated the problem, I've
come up with the following method of getting past that EOT mark. Please
let me know if there is any better method out there.

My solution was to eliminate the EOT mark by tar-ing a large file onto
the beginning of the tape, opening the tape drive door in the middle of
the tar write so that a new EOT could not be put onto the tape. Based
upon the design of the 1/4" tape cartridge this did not seem to present a
significant chance for physical damage to the tape or tape drive. Please
let me know if I overlooked something here.

I now have a corrupt data tape, but one in which I can use "mt -f
/dev/rmt/0mn fsf" to get up to the corrupt block, and then collect the
remaining tar files with "dd if=/dev/rmt/0mn of=disk.file conv=noerror".
The one remaining problem I have is that dd sometimes locks up the tape
drive as an unkillable zombie process if the drive gives up on reading
the tape before it gets out of the corrupted data block.

Comments or suggestions?