From owner-freebsd-current Mon Dec 14 10:23:46 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id KAA21573 for freebsd-current-outgoing; Mon, 14 Dec 1998 10:23:46 -0800 (PST) (envelope-from owner-freebsd-current@FreeBSD.ORG) Received: from feral-gw.feral.com (feral.com [192.67.166.1]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id KAA21568 for ; Mon, 14 Dec 1998 10:23:44 -0800 (PST) (envelope-from mjacob@feral.com) Received: from localhost (mjacob@localhost) by feral-gw.feral.com (8.8.7/8.8.7) with ESMTP id KAA02933; Mon, 14 Dec 1998 10:23:27 -0800 Date: Mon, 14 Dec 1998 10:23:27 -0800 (PST) From: Matthew Jacob X-Sender: mjacob@feral-gw Reply-To: mjacob@feral.com To: Bruce Evans cc: freebsd-current@FreeBSD.ORG Subject: Re: Tape Driver Changes Proposed: Tape Early Warning Behaviour In-Reply-To: <199812141802.FAA09572@godzilla.zeta.org.au> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG > > I think it is a bug for write() to return -1 after sucessfully writing a > short count. physio() does everything right in this area, but write(), > writev(), read() and readv() do everything wrong. >... > > Here `auio.uio_resid != cnt' is true if some i/o was done, and in that > case I think we should return the amount done and discard the error code > (for EIO the next i/o will presumably hit the error immediately and > return EIO), but we only do this for a few types of errors (ones that > don't occur for disks or tapes). > Yes, it could be fixed in this way, I suppose, but I don't believe that an error condition should be signalled- a signification condition that early warning has been reached isn't an error- at least for tape drives. What is it for other character devices? > > >Down the road a little bit would be: > > > > ++ untangling the minor device as behaviour selector so that > > ioctl's would not have to be used to select compression. > > This should be controversial :-). Compression is another type of behaviour. Yes, but we'll leave that one for another day... To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message