From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:44437) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RN7sZ-00046v-Hr for qemu-devel@nongnu.org; Sun, 06 Nov 2011 13:55:40 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RN7sY-0004Ki-BC for qemu-devel@nongnu.org; Sun, 06 Nov 2011 13:55:39 -0500 Received: from mx1.redhat.com ([209.132.183.28]:17676) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RN7sX-0004Ka-Ot for qemu-devel@nongnu.org; Sun, 06 Nov 2011 13:55:38 -0500 Received: from int-mx01.intmail.prod.int.phx2.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id pA6ItVA4010192 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Sun, 6 Nov 2011 13:55:36 -0500 Message-ID: <4EB6C3DF.4030104@redhat.com> Date: Sun, 06 Nov 2011 19:29:03 +0200 From: Avi Kivity MIME-Version: 1.0 References: <1319109385-7927-1-git-send-email-pbonzini@redhat.com> <1319109385-7927-5-git-send-email-pbonzini@redhat.com> <4EB69949.4070503@redhat.com> <4EB6C312.2020402@redhat.com> In-Reply-To: <4EB6C312.2020402@redhat.com> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH v2 4/7] block: take lock around bdrv_read implementations List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Paolo Bonzini Cc: qemu-devel On 11/06/2011 07:25 PM, Paolo Bonzini wrote: > On 11/06/2011 03:27 PM, Avi Kivity wrote: >> On 10/20/2011 01:16 PM, Paolo Bonzini wrote: >>> This does the first part of the conversion to coroutines, by >>> wrapping bdrv_read implementations to take the read side of the >>> rwlock. >>> >>> Drivers that implement bdrv_read rather than bdrv_co_readv can >>> then benefit from asynchronous operation (at least if the underlying >>> protocol supports it, which is not the case for raw-win32), even >>> though they still operate with a bounce buffer. >>> >>> raw-win32 does not need the lock, because it cannot yield. >>> nbd also doesn't probably, but better be safe. >> >> This patch (2914caa088e3fbbd) breaks autotest when a guest reboots after >> install; instead of rebooting, the guest is stuck in the bootloader or >> kernel. > > Are any of these formats used by autotest? > It's configurable; in my case, qcow2. > block/bochs.c | 13 ++++++++++++- > block/cloop.c | 13 ++++++++++++- > block/cow.c | 13 ++++++++++++- > block/dmg.c | 13 ++++++++++++- > block/nbd.c | 13 ++++++++++++- > block/parallels.c | 13 ++++++++++++- > block/vmdk.c | 13 ++++++++++++- > block/vpc.c | 13 ++++++++++++- > block/vvfat.c | 13 ++++++++++++- > 9 files changed, 108 insertions(+), 9 deletions(-) > So no. > Perhaps the failure is only reproduced 80-90% of the time and this > screws up the bisection. I thought I checked the before/after commit, but looking at the diffstat, that's doesn't make sense. On a related note, booting with -cdrom http://blah seems broken. -- error compiling committee.c: too many arguments to function