On 10/2/20 1:42 PM, Eric Smith via cctalk wrote:
/Of course, that scheme breaks programs that use
tape images but don't />/expect enormous or "negative" record lengths. /
Those would already be broken with Bob's use of large negative numbers for
physical end of
tape and 'bad block is here' (you don't get to know how big that bad block
was, so that is
hell with tapes with variable-length records, grumble..)
0xFFFFFFFF is
end-of-medium. I've encountered only a few tapes with this
marker.
0xFFFFFFFE is an erase gap.? I've never encountered one, perhaps because
I treat all 0xFFnnnnnn as EOM, even though they are reserved.
0x00000000 is a tapemark.
The above three are dataless.
0x80nnnnnn is a bad block (Medium Error) of size nnnnnn > 0. Woe to me
when my tape drive returns a zero-length block for those, so sometimes I
cobble up a BAD0 label and surround it with these Medium Errors.?
Heroics can ask my tape drive what happened (to distinguish it from a
normal tapemark).
I could suggest that other values for the first byte might be used for
metadata, but I think there are too many readers and existing images to
let that work.? I just put metadata in the same directory, but it can
get misplaced easily, and nothing limits a directory to just one tape
image.? Not optimal.
But for all the people who get clean reads off their tapes, none of this is an issue.
I wish I was so lucky.
I can't believe that anyone never gets a clean read from
any of their
tapes; most of mine have been clean.? But not all of them...
--
Jeff Woolsey {{woolsey,jlw}@jlw,first.last@{gmail,jlw}}.com
Nature abhors straight antennas, clean lenses, and empty storage.
"Delete! Delete! OK!" -Dr. Bronner on disk space management
Card-sorting, Joel. -Crow on solitaire