On Tue, 03/18 17:50, Stefan Hajnoczi wrote: > When creating an IOThread implicitly (the user did not specify > x-iothread=<id>) remember that iothread_find() does not return the > object with an incremented refcount. > > Signed-off-by: Stefan Hajnoczi <stefa...@redhat.com> > --- > hw/block/dataplane/virtio-blk.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/hw/block/dataplane/virtio-blk.c b/hw/block/dataplane/virtio-blk.c > index a5afc21..f558b45 100644 > --- a/hw/block/dataplane/virtio-blk.c > +++ b/hw/block/dataplane/virtio-blk.c > @@ -393,7 +393,6 @@ void virtio_blk_data_plane_create(VirtIODevice *vdev, > VirtIOBlkConf *blk, > if (blk->iothread) { > s->internal_iothread = false; > s->iothread = blk->iothread; > - object_ref(OBJECT(s->iothread)); > } else { > /* Create per-device IOThread if none specified */ > Error *local_err = NULL; > @@ -408,6 +407,7 @@ void virtio_blk_data_plane_create(VirtIODevice *vdev, > VirtIOBlkConf *blk, > s->iothread = iothread_find(vdev->name); > assert(s->iothread); > } > + object_ref(OBJECT(s->iothread)); > s->ctx = iothread_get_aio_context(s->iothread); > > /* Prevent block operations that conflict with data plane thread */
Reviewed-by: Fam Zheng <f...@redhat.com>