qemu-e2k/hw
Stefan Hajnoczi 5d6e96efb8 blockdev: acquire AioContext in QMP 'transaction' actions
The transaction QMP command performs operations atomically on a group of
drives.  This command needs to acquire AioContext in order to work
safely when virtio-blk dataplane IOThreads are accessing drives.

The transactional nature of the command means that actions are split
into prepare, commit, abort, and clean functions.  Acquire the
AioContext in prepare and don't release it until one of the other
functions is called.  This prevents the IOThread from running the
AioContext before the transaction has completed.

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Message-id: 1416566940-4430-4-git-send-email-stefanha@redhat.com
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
2014-12-10 10:31:13 +01:00
..
9pfs virtio-9p-proxy: improve error messages in connect_namedsocket() 2014-11-02 10:04:34 +03:00
acpi pc: piix4_pm: init legacy PCI hotplug when running on Xen 2014-11-14 11:11:44 +00:00
alpha ide: Update ide_drive_get to be HBA agnostic 2014-10-03 10:30:33 +01:00
arm hw/arm/virt: set stdout-path instead of linux,stdout-path 2014-11-20 14:58:37 +00:00
audio ac97: register reset via qom 2014-09-29 10:20:05 +02:00
block blockdev: acquire AioContext in QMP 'transaction' actions 2014-12-10 10:31:13 +01:00
bt
char Several bugfixes for s390x: 2014-11-10 14:58:59 +00:00
core hmp: fix regression of HMP device_del auto-completion 2014-11-27 14:36:20 +00:00
cpu icc_bus: fix typo ICC_BRIGDE -> ICC_BRIDGE 2014-11-03 19:51:56 +03:00
cris hw: Convert from BlockDriverState to BlockBackend, mostly 2014-10-20 14:02:25 +02:00
display cirrus: don't overflow CirrusVGAState->cirrus_bltbuf 2014-12-01 10:25:46 +01:00
dma
gpio PPC: Add MPC8XXX gpio controller 2014-11-04 23:26:12 +01:00
i2c
i386 -machine vmport=auto: Fix handling of VMWare ioport emulation for xen 2014-11-26 12:11:27 +01:00
ide ahci: replace SATA FIS type magic numbers with constants 2014-12-10 10:31:12 +01:00
input hw/input/tsc210x.c: Delete unused array tsc2101_rates 2014-09-29 18:48:48 +01:00
intc apic: fix incorrect handling of ExtINT interrupts wrt processor priority 2014-11-24 14:37:45 +01:00
ipack
isa hw: Convert from BlockDriverState to BlockBackend, mostly 2014-10-20 14:02:25 +02:00
lm32 hw: Convert from BlockDriverState to BlockBackend, mostly 2014-10-20 14:02:25 +02:00
m68k hw/core/loader: implement address translation in uimage loader 2014-11-03 00:59:10 +03:00
mem pc: pc-dimm: use backend alignment during address auto allocation 2014-11-23 12:12:46 +02:00
microblaze hw/core/loader: implement address translation in uimage loader 2014-11-03 00:59:10 +03:00
mips mips_mipssim: fix use-after-free for filename 2014-11-17 11:41:03 +01:00
misc ivshmem: use error_report 2014-10-31 17:02:22 +01:00
moxie
net virtio-net: fix unmap leak 2014-11-28 10:29:20 +00:00
nvram fw_cfg: fix boot order bug when dynamically modified via QOM 2014-11-26 12:11:27 +01:00
openrisc hw/core/loader: implement address translation in uimage loader 2014-11-03 00:59:10 +03:00
pci pcie: fix improper use of negative value 2014-11-24 20:57:11 +02:00
pci-bridge qdev: HotplugHandler: Rename unplug callback to unplug_request 2014-10-15 05:03:13 +02:00
pci-host
pcmcia hmp: Remove "info pcmcia" 2014-10-24 12:19:11 +01:00
ppc spapr: Allow dynamic creation of PHB 2014-11-04 23:26:15 +01:00
s390x virtio: link the rng backend through an alias property 2014-10-30 12:59:27 +00:00
scsi vhost: Fix vhostfd leak in error branch 2014-12-01 12:29:35 +00:00
sd hw: Convert from BlockDriverState to BlockBackend, mostly 2014-10-20 14:02:25 +02:00
sh4 hw: Convert from BlockDriverState to BlockBackend, mostly 2014-10-20 14:02:25 +02:00
sparc hw: Convert from BlockDriverState to BlockBackend, mostly 2014-10-20 14:02:25 +02:00
sparc64 hw: Convert from BlockDriverState to BlockBackend, mostly 2014-10-20 14:02:25 +02:00
ssi
timer
tpm hw: Convert from BlockDriverState to BlockBackend, mostly 2014-10-20 14:02:25 +02:00
tricore target-tricore: check return value before using it 2014-11-02 10:04:34 +03:00
unicore32
usb hcd-musb: fix dereference null return value 2014-11-17 18:02:31 +01:00
virtio vhost: Fix vhostfd leak in error branch 2014-12-01 12:29:35 +00:00
watchdog
xen hw: Convert from BlockDriverState to BlockBackend, mostly 2014-10-20 14:02:25 +02:00
xenpv hw: Convert from BlockDriverState to BlockBackend, mostly 2014-10-20 14:02:25 +02:00
xtensa hw/xtensa/xtfpga: treat uImage load address as virtual 2014-11-03 01:00:37 +03:00
Makefile.objs