qemu-patch-raspberry4/hw/block
Anthony PERARD b807ca3fa0 xen-block: Fix removal of backend instance via xenstore
Whenever a Xen block device is detach via xenstore, the image
associated with it remained open by the backend QEMU and an error is
logged:
    qemu-system-i386: failed to destroy drive: Node xvdz-qcow2 is in use

This happened since object_unparent() doesn't immediately frees the
object and thus keep a reference to the node we are trying to free.
The reference is hold by the "drive" property and the call
xen_block_drive_destroy() fails.

In order to fix that, we call drain_call_rcu() to run the callback
setup by bus_remove_child() via object_unparent().

Fixes: 2d24a64661 ("device-core: use RCU for list of children of a bus")

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
Reviewed-by: Paul Durrant <paul@xen.org>
Message-Id: <20210308143232.83388-1-anthony.perard@citrix.com>
2021-03-23 11:18:20 +00:00
..
dataplane block: Separate blk_is_writable() and blk_supports_write_perm() 2021-01-27 20:45:20 +01:00
block.c block: make BlockConf size props 32bit and accept size suffixes 2020-06-17 14:53:40 +02:00
cdrom.c Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
ecc.c Include hw/hw.h exactly where needed 2019-08-16 13:31:52 +02:00
fdc.c hw: Replace anti-social QOM type names 2021-03-19 15:18:43 +01:00
hd-geometry.c block: Remove blk_pread_unthrottled() 2019-08-16 10:25:16 +02:00
Kconfig hw/block: Introduce TC58128 eeprom Kconfig entry 2021-03-06 16:18:42 +01:00
m25p80.c hw/block: m25p80: Add various ISSI flash information 2021-03-04 09:43:29 -05:00
meson.build hw/block/nvme: end-to-end data protection 2021-03-18 12:34:51 +01:00
nand.c block: Separate blk_is_writable() and blk_supports_write_perm() 2021-01-27 20:45:20 +01:00
nvme-dif.c hw/block/nvme: add verify command 2021-03-18 12:34:51 +01:00
nvme-dif.h hw/block/nvme: add verify command 2021-03-18 12:34:51 +01:00
nvme-ns.c hw/block/nvme: add support for the format nvm command 2021-03-18 12:41:43 +01:00
nvme-ns.h hw/block/nvme: add support for the format nvm command 2021-03-18 12:41:43 +01:00
nvme-subsys.c hw/block/nvme: assert namespaces array indices 2021-03-18 12:34:51 +01:00
nvme-subsys.h hw/block/nvme: assert namespaces array indices 2021-03-18 12:34:51 +01:00
nvme.c hw/block/nvme: add support for the format nvm command 2021-03-18 12:41:43 +01:00
nvme.h hw/block/nvme: add support for the format nvm command 2021-03-18 12:41:43 +01:00
onenand.c block: Separate blk_is_writable() and blk_supports_write_perm() 2021-01-27 20:45:20 +01:00
pflash_cfi01.c hw/block/pflash_cfi: Replace DPRINTF with trace events 2021-03-18 11:16:31 +01:00
pflash_cfi02.c hw/block/pflash_cfi: Replace DPRINTF with trace events 2021-03-18 11:16:31 +01:00
swim.c block: Separate blk_is_writable() and blk_supports_write_perm() 2021-01-27 20:45:20 +01:00
tc58128.c hw/sh4: Add missing license 2021-03-06 16:18:42 +01:00
trace-events Parallel NOR Flash patches queue 2021-03-18 23:04:41 +00:00
trace.h trace: switch position of headers to what Meson requires 2020-08-21 06:18:24 -04:00
vhost-user-blk.c vhost-user-blk: fix blkcfg->num_queues endianness 2021-03-08 14:55:19 +01:00
virtio-blk.c virtio-blk: Respect discard granularity 2021-03-15 09:48:53 +00:00
xen-block.c xen-block: Fix removal of backend instance via xenstore 2021-03-23 11:18:20 +00:00
xen_blkif.h xen: Import other xen/io/*.h 2019-06-24 10:42:30 +01:00