On 29/03/2016 13:45, Cornelia Huck wrote: > > > Hi Tu Bo, > > > > > > please always include the assertion patch at > > > https://lists.gnu.org/archive/html/qemu-block/2016-03/msg00546.html in > > > your tests. Can you include the backtrace from all threads with that > > > patch? > > > > > thanks for your reminder about the assertion patch. Here is the > > backtrace with qemu master + assertion patch + "[PATCH 0/6] virtio: > > refactor host notifiers", > > FWIW, I've been running this in a reboot loop for the last 2 1/2 hours. > Could you perhaps share your command line?
>From code inspection, the following is also necessary or at least a good idea: diff --git a/hw/block/dataplane/virtio-blk.c b/hw/block/dataplane/virtio-blk.c index 6fb29e3..7fa8477 100644 --- a/hw/block/dataplane/virtio-blk.c +++ b/hw/block/dataplane/virtio-blk.c @@ -258,7 +258,7 @@ void virtio_blk_data_plane_stop(VirtIOBlockDataPlane *s) aio_context_acquire(s->ctx); /* Stop notifications for new requests from guest */ - virtio_queue_aio_set_host_notifier_handler(s->vq, s->ctx, false, false); + virtio_queue_aio_set_host_notifier_handler(s->vq, s->ctx, true, false); /* Drain and switch bs back to the QEMU main loop */ blk_set_aio_context(s->conf->conf.blk, qemu_get_aio_context());