ggs@ulysses.UUCP (07/20/83)
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@ulysses.uucp UUCP: ulysses!ggs