qemu/include/block
Alberto Garcia db6283385c throttle: acquire the ThrottleGroup lock in bdrv_swap()
bdrv_swap() touches the fields of a BlockDriverState that are
protected by the ThrottleGroup lock. Although those fields end up in
their original place, they are temporarily swapped in the process,
so there's a chance that an operation on a member of the same group
happening on a different thread can try to use them.

Signed-off-by: Alberto Garcia <berto@igalia.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-id: d92dc40d7c4f1fc5cda5cbbf4ffb7a4670b79d17.1433779731.git.berto@igalia.com
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
2015-06-12 14:00:00 +01:00
..
accounting.h block: add accounting for merged requests 2015-02-06 17:24:21 +01:00
aio.h AioContext: acquire/release AioContext during aio_poll 2015-04-28 15:36:08 +02:00
block_int.h throttle: Add throttle group support 2015-06-12 14:00:00 +01:00
block.h throttle: Add throttle group support 2015-06-12 14:00:00 +01:00
blockjob.h blockjob: Allow nested pause 2015-04-28 15:36:09 +02:00
coroutine_int.h coroutine: Clean up qemu_coroutine_enter() 2015-03-09 11:11:59 +01:00
coroutine.h coroutine: drop qemu_coroutine_adjust_pool_size 2015-01-13 13:43:29 +00:00
nbd.h nbd: Set block size to BDRV_SECTOR_SIZE 2015-03-18 12:07:01 +01:00
qapi.h qmp: fill in the image field in BlockDeviceInfo 2015-04-28 15:36:09 +02:00
scsi.h scsi: Print command name in debug 2014-06-18 08:47:10 +02:00
snapshot.h qemu-nbd: support internal snapshot export 2013-12-04 15:19:00 +01:00
thread-pool.h block: Rename BlockDriverCompletionFunc to BlockCompletionFunc 2014-10-20 13:41:27 +02:00
throttle-groups.h throttle: acquire the ThrottleGroup lock in bdrv_swap() 2015-06-12 14:00:00 +01:00
write-threshold.h block: add event when disk usage exceeds threshold 2015-02-06 17:24:21 +01:00