From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:33361) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z5Sv6-0003CC-Or for qemu-devel@nongnu.org; Thu, 18 Jun 2015 02:03:25 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Z5Sv1-0006Jn-MJ for qemu-devel@nongnu.org; Thu, 18 Jun 2015 02:03:24 -0400 Received: from mx-v6.kamp.de ([2a02:248:0:51::16]:38817 helo=mx01.kamp.de) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z5Sv1-0006JU-Bg for qemu-devel@nongnu.org; Thu, 18 Jun 2015 02:03:19 -0400 Message-ID: <55825F17.3060205@kamp.de> Date: Thu, 18 Jun 2015 08:03:03 +0200 From: Peter Lieven MIME-Version: 1.0 References: <55803637.3060607@kamp.de> <20150617083539.GA4202@noname.str.redhat.com> In-Reply-To: <20150617083539.GA4202@noname.str.redhat.com> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [Qemu-block] RFC cdrom in own thread? List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Kevin Wolf , Stefan Hajnoczi Cc: qemu-devel , qemu block Am 17.06.2015 um 10:35 schrieb Kevin Wolf: > Am 16.06.2015 um 17:34 hat Stefan Hajnoczi geschrieben: >> On Tue, Jun 16, 2015 at 3:44 PM, Peter Lieven wrote: >>> I wonder how difficult it would be to have the IDE CDROM run in its own >>> thread? >>> We usually have ISOs mounted on an NFS share as CDROM. Problem: If the NFS >>> Share >>> goes down, it takes down monitor, qmp, vnc etc. with it. >>> >>> Maybe its already possible to do this via cmdline args? >>> >>> Any ideas, comments? >> If QEMU hangs in the read/write/flush/discard code path due to NFS >> downtime it is a bug. >> >> QEMU is expected to hang in open/reopen because those are performed in >> a blocking fashion. >> >> Which of these cases applies to what you are seeing? Maybe it can be fixed. > Don't forget bdrv_drain_all(), which is called a lot by the monitor. So > no matter what you do (and this includes moving to a thread as in a > hypothetical "ATAPI dataplane"), you end up with a hang sooner or later. I will have a look where qemu hangs. The problem exists with an NFS share mounted by the kernel and also with libnfs. So it might be a bdrv_drain_all. I regularly query info block and info blockstats. Do these commands always call bdrv_drain_all()?. Peter