mirror_qemu/block
Stefan Hajnoczi 13344f3a17 block: acquire AioContext in qmp_query_blockstats()
Make query-blockstats safe for dataplane by acquiring the
BlockDriverState's AioContext.  This ensures that the dataplane IOThread
and the main loop's monitor code do not race.

Note the assumption that acquiring the drive's BDS AioContext also
protects ->file and ->backing_hd.  This assumption is made by other
aio_context_acquire() callers too.

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Fam Zheng <famz@redhat.com>
Tested-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
2014-06-27 18:20:29 +02:00
..
Makefile.objs Block patches 2014-02-25 10:50:11 +00:00
backup.c qapi: adjust existing defines 2014-06-23 11:01:25 -04:00
blkdebug.c blkdebug: use BlockDriverState's AioContext 2014-06-04 09:56:11 +02:00
blkverify.c blkverify: implement .bdrv_detach/attach_aio_context() 2014-06-04 09:56:11 +02:00
bochs.c block/bochs: Fix error handling for seek_to_sector() 2014-04-30 14:46:17 +02:00
cloop.c block/cloop: use PRIu32 format specifier for uint32_t 2014-04-23 11:34:10 +02:00
commit.c qerror.h: Remove QERR defines that are only used once 2014-04-25 09:19:59 -04:00
cow.c block: Catch backing files assigned to non-COW drivers 2014-06-26 13:51:01 +02:00
curl.c block: Drop superfluous conditionals around g_free() 2014-06-16 17:23:19 +08:00
dmg.c block: Use correct width in format strings 2014-04-30 14:46:17 +02:00
gluster.c cleanup QEMUOptionParameter 2014-06-16 17:23:21 +08:00
iscsi.c Fix new typos (found by codespell) 2014-06-24 20:01:24 +04:00
linux-aio.c block/linux-aio: fix memory and fd leak 2014-06-04 09:56:11 +02:00
mirror.c mirror: Go through ready -> complete process for 0 len image 2014-06-26 13:50:57 +02:00
nbd-client.c nbd: implement .bdrv_detach/attach_aio_context() 2014-06-04 09:56:11 +02:00
nbd-client.h nbd: implement .bdrv_detach/attach_aio_context() 2014-06-04 09:56:11 +02:00
nbd.c nbd: implement .bdrv_detach/attach_aio_context() 2014-06-04 09:56:11 +02:00
nfs.c block/nfs: add knob to set readahead 2014-06-26 13:51:01 +02:00
parallels.c parallels: Sanity check for s->tracks (CVE-2014-0142) 2014-04-01 15:22:35 +02:00
qapi.c block: acquire AioContext in qmp_query_blockstats() 2014-06-27 18:20:29 +02:00
qcow.c block: Catch backing files assigned to non-COW drivers 2014-06-26 13:51:01 +02:00
qcow2-cache.c qcow2: Use negated overflow check mask 2013-10-11 16:50:00 +02:00
qcow2-cluster.c qcow2: Fix memory leak in COW error path 2014-05-28 14:28:46 +02:00
qcow2-refcount.c qapi event: convert BLOCK_IMAGE_CORRUPTED 2014-06-23 11:12:27 -04:00
qcow2-snapshot.c qcow2: Limit snapshot table size 2014-04-01 15:22:35 +02:00
qcow2.c block: Catch backing files assigned to non-COW drivers 2014-06-26 13:51:01 +02:00
qcow2.h qcow2: Limit snapshot table size 2014-04-01 15:22:35 +02:00
qed-check.c qed: mark image clean after repair succeeds 2012-08-10 10:25:12 +02:00
qed-cluster.c Use glib memory allocation and free functions 2011-08-20 23:01:08 -05:00
qed-gencb.c Use glib memory allocation and free functions 2011-08-20 23:01:08 -05:00
qed-l2-cache.c qed: do not evict in-use L2 table cache entries 2012-03-12 15:14:06 +01:00
qed-table.c qed: use BlockDriverState's AioContext 2014-06-04 09:56:11 +02:00
qed.c block: Catch backing files assigned to non-COW drivers 2014-06-26 13:51:01 +02:00
qed.h qed.c: replace QEMUOptionParameter with QemuOpts 2014-06-16 17:23:21 +08:00
quorum.c quorum: Add the rewrite-corrupted parameter to quorum 2014-06-27 14:18:17 +02:00
raw-aio.h block/raw-win32: implement .bdrv_detach/attach_aio_context() 2014-06-04 09:56:12 +02:00
raw-posix.c cleanup QEMUOptionParameter 2014-06-16 17:23:21 +08:00
raw-win32.c cleanup QEMUOptionParameter 2014-06-16 17:23:21 +08:00
raw_bsd.c cleanup QEMUOptionParameter 2014-06-16 17:23:21 +08:00
rbd.c cleanup QEMUOptionParameter 2014-06-16 17:23:21 +08:00
sheepdog.c sheepdog: fix NULL dereference in sd_create 2014-06-23 16:36:13 +08:00
snapshot.c Use error_is_set() only when necessary 2014-02-17 11:57:23 -05:00
ssh.c cleanup QEMUOptionParameter 2014-06-16 17:23:21 +08:00
stream.c qapi: adjust existing defines 2014-06-23 11:01:25 -04:00
vdi.c cleanup QEMUOptionParameter 2014-06-16 17:23:21 +08:00
vhdx-endian.c block: vhdx - move more endian translations to vhdx-endian.c 2013-11-07 13:58:59 +01:00
vhdx-log.c Fixed various typos 2014-03-25 14:09:50 +01:00
vhdx.c cleanup QEMUOptionParameter 2014-06-16 17:23:21 +08:00
vhdx.h vhdx.c: replace QEMUOptionParameter with QemuOpts 2014-06-16 17:23:21 +08:00
vmdk.c block: Catch backing files assigned to non-COW drivers 2014-06-26 13:51:01 +02:00
vpc.c cleanup QEMUOptionParameter 2014-06-16 17:23:21 +08:00
vvfat.c cleanup QEMUOptionParameter 2014-06-16 17:23:21 +08:00
win32-aio.c block/raw-win32: implement .bdrv_detach/attach_aio_context() 2014-06-04 09:56:12 +02:00