From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Ng0ie-0003Tu-2s for qemu-devel@nongnu.org; Fri, 12 Feb 2010 13:58:24 -0500 Received: from [199.232.76.173] (port=48533 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Ng0id-0003TM-HI for qemu-devel@nongnu.org; Fri, 12 Feb 2010 13:58:23 -0500 Received: from Debian-exim by monty-python.gnu.org with spam-scanned (Exim 4.60) (envelope-from ) id 1Ng0ic-0003or-L0 for qemu-devel@nongnu.org; Fri, 12 Feb 2010 13:58:23 -0500 Received: from mx1.redhat.com ([209.132.183.28]:48507) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1Ng0ic-0003ol-6o for qemu-devel@nongnu.org; Fri, 12 Feb 2010 13:58:22 -0500 Message-ID: <4B75A4C5.7040209@redhat.com> Date: Fri, 12 Feb 2010 20:58:13 +0200 From: Avi Kivity MIME-Version: 1.0 Subject: Re: [Qemu-devel] Heads up: glibc preadv emulation breaks qemu on older kernels References: <20100211190608.GA26410@amd.home.annexia.org> <20100212125238.GA22221@lst.de> <20100212135044.GA24209@lst.de> <4B758FD9.2010807@codemonkey.ws> In-Reply-To: <4B758FD9.2010807@codemonkey.ws> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Anthony Liguori Cc: "Richard W.M. Jones" , Christoph Hellwig , qemu-devel@nongnu.org On 02/12/2010 07:28 PM, Anthony Liguori wrote: > On 02/12/2010 07:50 AM, Christoph Hellwig wrote: >> On Fri, Feb 12, 2010 at 04:49:23PM +0300, malc wrote: >>> On Fri, 12 Feb 2010, Christoph Hellwig wrote: >>> >>>> On Thu, Feb 11, 2010 at 07:06:08PM +0000, Richard W.M. Jones wrote: >>>>> One interesting thing is that qemu has its own preadv emulation >>>>> (which >>>>> does the emulation correctly), but this is never used because qemu >>>>> never gets ENOSYS back from preadv. >>>> At this point the amount of bugs in the glibc preadv/pwritev code >>>> really >>>> make me want to go to use the raw system calls on Linux only. Any >>>> opinions from the maintainers if that is acceptable? >>> There are more than one way to parse the first sentence, if it >>> should be >>> read as: >>> On linux and on linux only avoid using pread/write[v] and talk to >>> the >>> kernel directly. >>> >>> Then i agree. >> Yes. The BSDs tend to not play stupid emulation games in the libc, so >> changes of these kinds of messups to happen are far less. > > In all fairness, I seem to recall there being a problem with the > kernel implementation of preadv/pwritev too. > > I think a configure option would be in order. Forever avoiding glibc > is probably a bit extreme. > I'll go further and even avoid the configure options. Users should run fully updated systems. (how would a user know whether to enable or disable the option? by the time they figure out, they might as well update the system). -- Do not meddle in the internals of kernels, for they are subtle and quick to panic.