Am 07.09.2015 um 18:28 schrieb Paolo Bonzini: > > On 03/09/2015 15:11, Peter Lieven wrote: >>>>>> edec47c main-loop: fix qemu_notify_event for aio_notify optimization >>>>> Part of the above AioContext series. >>>> So either the whole series or none of them I guess? >>> It's a separate bug, and theoretically it's there in 2.3.1 as well, but >>> no one ever reproduced it (it would hang in make check) so not >>> worthwhile. >> I maybe found another case where this bugfix seems to help. For various >> reasons I'm still on 2.2.1 stable with some CVE fixes manually applied. > Don't be ashamed to say that! :) > >> I currently work on the problem that a haning NFS Server where I mount >> my CDROM ISOs from takes down the whole vServer because the main loop >> hangs sooner or later. >> >> I already put some patches on the list which help to improve the situation: >> >> ide/atapi: make PIO read requests async >> block/io: allow AIOCB without callback >> ide/atapi: partially avoid deadlock if the storage backend is dead >> block/nfs: cache allocated filesize for read-only files >> >> However, I ended up with one case where Qemu deadlocks in bdrv_drain_one. >> >> Scenario: >> - Windows 2012R2 with a random ISO mounted. >> - Block communication to NFS via Firewall >> - execute 'eject ide1-cd0' in the HMP >> - restore connectivity. >> >> The HMP hangs forever even if the NFS connectivity itself is restored. > If that patch helps, it's not a problem to include it in other stable > releases.
It helps, but I have a small issue when my backport of the patch is applied. I launch qemu witch a cmdline like this to probe for enforcable CPU types. echo quit | qemu -enable-kvm -monitor stdio -nodefaults -nographic -cpu Haswell,enforce -S Qemu hangs when entering the quit command. If I omit the -S it works. And without the fix it also works with -S. My backport (Linux only and without tests etc.) of the original fix is here: https://github.com/plieven/qemu/commit/0ddcdc62a85f705017df16421d769e82b70f9b37 Maybe I made a mistake. Peter