diff --git a/hw/virtio-blk.c b/hw/virtio-blk.c index d11bb807be9affd0454bd692ee96948835ca3f64..afd15f2997e34ab48cd6167fd58f0e4ace1a2919 100644 --- a/hw/virtio-blk.c +++ b/hw/virtio-blk.c @@ -621,5 +621,6 @@ void virtio_blk_exit(VirtIODevice *vdev) { VirtIOBlock *s = to_virtio_blk(vdev); unregister_savevm(s->qdev, "virtio-blk", s); + blockdev_mark_auto_del(s->bs); virtio_cleanup(vdev); } diff --git a/hw/virtio-pci.c b/hw/virtio-pci.c index 8a931ced24ad391914209970fde1444c563b5e6c..f2f4153ade054972263f81d0464c98f81fd9cf18 100644 --- a/hw/virtio-pci.c +++ b/hw/virtio-pci.c @@ -726,7 +726,6 @@ static int virtio_blk_exit_pci(PCIDevice *pci_dev) virtio_pci_stop_ioeventfd(proxy); virtio_blk_exit(proxy->vdev); - blockdev_mark_auto_del(proxy->block.bs); return virtio_exit_pci(pci_dev); }