Am 18.05.2017 um 10:06 hat Stefan Hajnoczi geschrieben: > On Thu, May 18, 2017 at 8:57 AM, Kevin Wolf <kw...@redhat.com> wrote: > > Am 17.05.2017 um 22:16 hat Eric Blake geschrieben: > >> On 05/17/2017 12:09 PM, Stefan Hajnoczi wrote: > >> > Calling aio_poll() directly may have been fine previously, but this is > >> > the future, man! > >> > >> lol > >> > >> > The difference between an aio_poll() loop and > >> > BDRV_POLL_WHILE() is that BDRV_POLL_WHILE() releases the AioContext > >> > around aio_poll(). > >> > > >> > This allows the IOThread to run fd handlers or BHs to complete the > >> > request. Failure to release the AioContext causes deadlocks. > >> > > >> > Using BDRV_POLL_WHILE() partially fixes a 'savevm' hang with -object > >> > iothread. > >> > >> I'm surprised at how many separate hangs we actually had! > > > > How hard would it be to write some test cases for this? Dataplane has > > a serious lack of automated testing. > > And this hang doesn't even require in-flight guest I/O, so it would be > easy to reproduce in qemu-iotests if we add an IOThread mode.
I don't think I would make it a separate mode (because people would run only one or the other - when did you last run qcow2 v2 tests?), but just add some test cases that make use of it during the normal -qcow2 or -raw run. Kevin