However, if I notice recovered-reads (or hard errors)
on old 9-track
tapes, I often see fewer recovered reads (or hard errors) if I try
the tape one more time. I assume that going over the heads once
may have knocked off a bit of dust/dirt/something that affected
the tape the first time. Note that I don't discard the
results of the first run until the second run finishes...
hey! Me too!
I've had one tape break during a second run :)
Ouch! Acetate backing?
Go buy a 9-track drive and hang it on your *nix box.
Let me send you a 9-track tape. You read it any way
you want. You send me the tape back.
> Then you go get a second tape, and put the data back on
> any way you want. Then send it to me, and I'll tell you
> if your technique works or not.
BTW, the only way you can be *SURE* you got all the data on
the tape is if *EVERY* read-request returned fewer characters
than you asked for. E.g., if you did:
bytesread = read(fromfd, buffer, BUFSIZE);
and you get BUFSIZE bytes in, then there's a chance that that
tape record had BUFSIZE + 100 bytes ... and you've just lost
those last 100 bytes.
I *just* recently discovered this, and will incorporate that
into a utility I'll be hosting on the Prime.
-dq