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

From: Lin Ma <lma@suse.com>
Date: Fri, 3 Sep 2021 12:05:09 +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 a06251da2fb61ab7253676183b60..7667076ffd490f382516a6258f08 100644
--- a/hw/block/xen-block.c
+++ b/hw/block/xen-block.c
@@ -142,6 +142,7 @@ static void xen_block_unrealize(XenDevice *xendev, Error **errp)
         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;
@@ -155,6 +156,8 @@ static void xen_block_unrealize(XenDevice *xendev, Error **errp)
     xen_block_dataplane_destroy(blockdev->dataplane);
     blockdev->dataplane = NULL;
 
+    monitor_remove_blk(conf->blk);
+
     if (blockdev_class->unrealize) {
         blockdev_class->unrealize(blockdev, errp);
     }
openSUSE Build Service is sponsored by