Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!watmath!clyde!caip!rutgers!lll-crg!nike!cit-vax!mangler From: mangler@cit-vax.Caltech.Edu (System Mangler) Newsgroups: net.unix-wizards Subject: Re: readv(), writev() Message-ID: <1037@cit-vax.Caltech.Edu> Date: Sun, 12-Oct-86 03:37:53 EDT Article-I.D.: cit-vax.1037 Posted: Sun Oct 12 03:37:53 1986 Date-Received: Sun, 12-Oct-86 13:42:47 EDT References: <4251@brl-smoke.ARPA> <1035@cit-vax.Caltech.Edu> Organization: California Institute of Technology Lines: 12 Summary: readv, writev broken on raw device In article <1035@cit-vax.Caltech.Edu>, I write: > On raw devices, physio() generates a physical I/O for each element > of a readv() or writev(). I was wrong; only one I/O is generated, because readv() and writev() on the raw device won't do more than a single iovec, due to bugs in physio(). 4.3bsd fixes one of the bugs, but there's still at least one bug left: writev() fails on the second iovec, with errno=ENXIO. If readv() and writev() were useful, someone would have fixed this. Don Speck speck@vlsi.caltech.edu {seismo,rutgers}!cit-vax!speck