From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Ln8tJ-0000Bj-6b for qemu-devel@nongnu.org; Fri, 27 Mar 2009 06:02:21 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Ln8tC-00007q-GI for qemu-devel@nongnu.org; Fri, 27 Mar 2009 06:02:18 -0400 Received: from [199.232.76.173] (port=53720 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Ln8tC-00007d-Bx for qemu-devel@nongnu.org; Fri, 27 Mar 2009 06:02:14 -0400 Received: from mx2.redhat.com ([66.187.237.31]:36051) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1Ln8tB-0005xU-ME for qemu-devel@nongnu.org; Fri, 27 Mar 2009 06:02:13 -0400 Received: from int-mx2.corp.redhat.com (int-mx2.corp.redhat.com [172.16.27.26]) by mx2.redhat.com (8.13.8/8.13.8) with ESMTP id n2RA2CIG030570 for ; Fri, 27 Mar 2009 06:02:12 -0400 Message-ID: <49CCA449.4010504@redhat.com> Date: Fri, 27 Mar 2009 13:02:49 +0300 From: Avi Kivity MIME-Version: 1.0 Subject: Re: [Qemu-devel] [PATCH] honor IDE_DMA_BUF_SECTORS References: <49CA4C3D.1070705@redhat.com> <49CA59AE.8060605@eu.citrix.com> <49CA5F9F.5040203@redhat.com> <49CA60BA.5060704@eu.citrix.com> <49CA6E4A.4080408@eu.citrix.com> <49CB5793.4030006@redhat.com> <49CB599D.6000701@eu.citrix.com> <49CB5FA0.10101@redhat.com> <49CB6AF7.3080604@eu.citrix.com> <20090326224229.GA7311@lst.de> <20090326232230.GF5458@const.famille.thibault.fr> In-Reply-To: <20090326232230.GF5458@const.famille.thibault.fr> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Samuel Thibault wrote: > Nothing in Linux makes filesystems and devices systematically read/write > the amount of data that was requested. > > We're talking about the qemu block layer, not Linux. You're proposing to take the posix API rules and apply them to the qemu block layer. But posix read/write does not fit how DMA works. A request should either complete fully, or fail, leaving the destination (disk or memory) in an undefined state. Partial completions are impossible to implement efficiently, and are a needless complication. -- I have a truly marvellous patch that fixes the bug which this signature is too narrow to contain.