File xen-remove-BlockBackend-object-reference.patch of Package qemu.26277
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);
}