From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:60338) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WnxYX-0000oM-Tj for qemu-devel@nongnu.org; Fri, 23 May 2014 18:03:21 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WnxYQ-0002RP-FU for qemu-devel@nongnu.org; Fri, 23 May 2014 18:03:13 -0400 Received: from mx.beyond.pl ([92.43.117.49]:43238) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WnxYQ-0002RH-8f for qemu-devel@nongnu.org; Fri, 23 May 2014 18:03:06 -0400 Message-ID: <537FC58D.2020808@beyond.pl> Date: Sat, 24 May 2014 00:02:53 +0200 From: =?UTF-8?B?TWFyY2luIEdpYnXFgmE=?= MIME-Version: 1.0 References: <537E62CE.2050302@beyond.pl> <537E66A5.9010609@beyond.pl> <537F047C.9010800@redhat.com> <537F141C.5080102@beyond.pl> <20140523122906.GB5254@noname.redhat.com> <537F4156.8090105@beyond.pl> <537F4998.8030805@beyond.pl> In-Reply-To: <537F4998.8030805@beyond.pl> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] qemu 2.0, deadlock in block-commit List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: kwolf@redhat.com, Paolo Bonzini W dniu 2014-05-23 15:14, Marcin Gibu=C5=82a pisze: >>> bdrv_requests_pending(), called by bdrv_requests_pending_all(), is th= e >>> function that determines for each of the disks in your VM if it still >>> has requests in flight that need to be completed. This function must >>> have returned true even though there is nothing to wait for. >>> >>> Can you check which of its conditions led to this behaviour, and for >>> which disk it did? Either by setting a breakpoint there and >>> singlestepping through the function the next time it is called (if th= e >>> poll even has a timeout), or by inspecting the conditions manually in >>> gdb. > > The condition that is true is: > > if (!QLIST_EMPTY(&bs->tracked_requests)) > > and it's returned for intermediate qcow2 which is being commited. My mistake, this condition is true not for intermediate file, but for an=20 active one. Sorry for confusion. --=20 mg