Peter Lieven <p...@kamp.de> writes: > 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 <p...@kamp.de> 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()?.
As far as I can tell, they don't. In general, it's hard to see. Wish it wasn't.