From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1M1PEq-0007lQ-F6 for qemu-devel@nongnu.org; Tue, 05 May 2009 14:19:32 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1M1PEl-0007jV-PD for qemu-devel@nongnu.org; Tue, 05 May 2009 14:19:32 -0400 Received: from [199.232.76.173] (port=33362 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1M1PEl-0007jP-Js for qemu-devel@nongnu.org; Tue, 05 May 2009 14:19:27 -0400 Received: from mx2.redhat.com ([66.187.237.31]:54986) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1M1PEk-0007jK-ST for qemu-devel@nongnu.org; Tue, 05 May 2009 14:19:27 -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 n45IJOYW006553 for ; Tue, 5 May 2009 14:19:25 -0400 Message-ID: <4A008309.4050504@redhat.com> Date: Tue, 05 May 2009 21:18:49 +0300 From: Avi Kivity MIME-Version: 1.0 Subject: Re: [Qemu-devel] Strange virtio regression on mainline and stable-0.10 References: <4A000C74.5020907@redhat.com> <4A0066D9.6030008@redhat.com> In-Reply-To: <4A0066D9.6030008@redhat.com> 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: Kevin Wolf Cc: qemu-devel Avi Kivity wrote: > Avi Kivity wrote: >> Running the Fedora 10 installer on a virtio disk on current master >> and on v0.10.3 will cause the installer to complain when mounting the >> freshly formatted filesystems. > > The problem is that qcow2 does a read-modify-write on > non-cluster-aligned writes. So the following sequence triggers the bug: No, that's not the problem. Now I think the problem occurs if the guest does two non-overlapping writes in parallel that hit the same cluster. Initially the cluster is not allocated, so the two writes will go into two newly allocated clusters. When qcow2 tries to update the block pointers, something strange happens. -- Do not meddle in the internals of kernels, for they are subtle and quick to panic.