mag tape error indications

ggs at ulysses.UUCP ggs at ulysses.UUCP
Thu Jul 21 03:20:45 AEST 1983


While trying to find why bad input records from a TU78 can crash BSD
4.1 and 4.1c, I also confirmed that:

1. Long blocks are accepted without comment, there is no indication
   that part of a block has been lost.

2. End of tape is ignored when writing.  You have no way of knowing
   that the tape is about to fall off the reel.

I assume that this is nothing new to most of you, but it can be a rude
shock to those who are used to operating systems that seriously support
devices other than disks and terminals.  Is there any consensus about
the "correct" behavior for these cases?  The suggestions that I have
heard are:

1. Return EIO if the block is longer than the input record.  It really
   ought to be "block too long", but there ain't no such animal.

2. Return ENOSPC on the first write after the write that hit EOT,
   then let all following writes succeed.  This lets the user
   program shut down gracefully if it has several buffers to flush.

Are there any violent counter-arguments to these suggestions?  Does
anyone have a TU78 driver that tries to address these issues rationally?
-- 

Griff Smith	Bell Labs, Murray Hill
Phone:		(201) 582-7736
Internet:	ggs at ulysses.uucp
UUCP:		ulysses!ggs



More information about the Comp.unix.wizards mailing list