File xen-remove-BlockBackend-object-reference.patch of Package qemu.29315

From: Lin Ma <lma@suse.com>
Date: Fri, 3 Sep 2021 13:34:47 +0800
Subject: xen: remove BlockBackend object reference in xen_block_unrealize

References: bsc#1189234

Signed-off-by: Lin Ma <lma@suse.com>
---
 hw/block/xen-block.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/hw/block/xen-block.c b/hw/block/xen-block.c
index 4bfd55a854afdc2359f03610724d..c1034e1167f97a5859bdeb9c554f 100644
--- a/hw/block/xen-block.c
+++ b/hw/block/xen-block.c
@@ -143,6 +143,7 @@ static void xen_block_unrealize(XenDevice *xendev)
         XEN_BLOCK_DEVICE_GET_CLASS(xendev);
     const char *type = object_get_typename(OBJECT(blockdev));
     XenBlockVdev *vdev = &blockdev->props.vdev;
+    BlockConf *conf = &blockdev->props.conf;
 
     if (vdev->type == XEN_BLOCK_VDEV_TYPE_INVALID) {
         return;
@@ -156,6 +157,8 @@ static void xen_block_unrealize(XenDevice *xendev)
     xen_block_dataplane_destroy(blockdev->dataplane);
     blockdev->dataplane = NULL;
 
+    monitor_remove_blk(conf->blk);
+
     if (blockdev_class->unrealize) {
         blockdev_class->unrealize(blockdev);
     }
openSUSE Build Service is sponsored by