qemu/hw/block
Greg Kurz 570fe439e5 virtio-blk: Fix rollback path in virtio_blk_data_plane_start()
When dataplane multiqueue support was added in QEMU 2.7, the path
that would rollback guest notifiers assignment in case of error
simply got dropped.

Later on, when Error was added to blk_set_aio_context() in QEMU 4.1,
another error path was introduced, but it ommits to rollback both
host and guest notifiers.

It seems cleaner to fix the rollback path in one go. The patch is
simple enough that it can be adjusted if backported to a pre-4.1
QEMU.

Fixes: 51b04ac5c6 ("virtio-blk: dataplane multiqueue support")
Cc: stefanha@redhat.com
Fixes: 97896a4887 ("block: Add Error to blk_set_aio_context()")
Cc: kwolf@redhat.com
Signed-off-by: Greg Kurz <groug@kaod.org>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-Id: <20210407143501.244343-2-groug@kaod.org>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2021-05-14 10:26:18 -04:00
..
dataplane virtio-blk: Fix rollback path in virtio_blk_data_plane_start() 2021-05-14 10:26:18 -04: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/block/fdc: Fix 'fallback' property on sysbus floppy disk controllers 2021-04-09 18:00:29 +02: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: Support fast read for SST flashes 2021-03-22 21:54:40 -04: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 missing copyright headers 2021-04-07 10:48:32 +02:00
nvme-dif.h hw/block/nvme: add missing copyright headers 2021-04-07 10:48:32 +02:00
nvme-ns.c hw/block/nvme: fix handling of private namespaces 2021-04-07 10:48:31 +02:00
nvme-ns.h hw/block/nvme: fix handling of private namespaces 2021-04-07 10:48:31 +02:00
nvme-subsys.c hw/block/nvme: fix handling of private namespaces 2021-04-07 10:48:31 +02:00
nvme-subsys.h hw/block/nvme: fix out-of-bounds read in nvme_subsys_ctrl 2021-04-07 10:48:33 +02:00
nvme.c hw/block/nvme: fix invalid msix exclusive uninit 2021-04-26 14:55:50 +01:00
nvme.h hw/block/nvme: fix handling of private namespaces 2021-04-07 10:48:31 +02: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 hw/block/nvme: fix handling of private namespaces 2021-04-07 10:48:31 +02: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: add immediate cleanup on shutdown 2021-04-01 11:39:12 -04:00
virtio-blk.c virtio-blk: Constify VirtIOFeature feature_sizes[] 2021-05-14 08:12:09 -04:00
xen_blkif.h xen: Import other xen/io/*.h 2019-06-24 10:42:30 +01:00
xen-block.c xen-block: Fix removal of backend instance via xenstore 2021-03-23 11:18:20 +00:00