[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 0/8] Fix bdrv_read/write emulation
From: |
Kevin Wolf |
Subject: |
[Qemu-devel] [PATCH 0/8] Fix bdrv_read/write emulation |
Date: |
Thu, 22 Oct 2009 17:54:34 +0200 |
The other day we re-introduced synchronous qcow2 read/write functions to work
around the buggy bdrv_read/write emulation, this series implements the proper
fix for it.
Basically what it's doing is to ensure that the emulation only runs its own
AIO callbacks and bottom halves. Callbacks from outside need to wait so they
can't corrupt the internal state of the driver calling bdrv_read/write (and
assuming that nobody else runs in between).
Kevin Wolf (8):
posix-aio-compat: Split out posix_aio_process_queue
Add qemu_aio_process_queue()
Split out bottom halves
Introduce contexts for asynchronous callbacks
block: Use new AsyncContext for bdrv_read/write emulation
posix-aio-compat: Honour AsyncContext
linux-aio: Honour AsyncContext
Revert "qcow2: Bring synchronous read/write back to life"
Makefile.target | 2 +-
aio.c | 30 +++++++
async.c | 216 +++++++++++++++++++++++++++++++++++++++++++++++++
block.c | 22 ++++-
block/curl.c | 8 +-
block/qcow2-cluster.c | 6 +-
block/qcow2.c | 51 +-----------
block/qcow2.h | 3 -
linux-aio.c | 87 ++++++++++++++++----
posix-aio-compat.c | 58 +++++++++----
qemu-aio.h | 13 +++
qemu-common.h | 5 +
qemu-tool.c | 13 +++
vl.c | 104 -----------------------
14 files changed, 418 insertions(+), 200 deletions(-)
create mode 100644 async.c
- [Qemu-devel] [PATCH 0/8] Fix bdrv_read/write emulation,
Kevin Wolf <=
- [Qemu-devel] [PATCH 1/8] posix-aio-compat: Split out posix_aio_process_queue, Kevin Wolf, 2009/10/22
- [Qemu-devel] [PATCH 2/8] Add qemu_aio_process_queue(), Kevin Wolf, 2009/10/22
- [Qemu-devel] [PATCH 3/8] Split out bottom halves, Kevin Wolf, 2009/10/22
- [Qemu-devel] [PATCH 4/8] Introduce contexts for asynchronous callbacks, Kevin Wolf, 2009/10/22
- [Qemu-devel] [PATCH 6/8] posix-aio-compat: Honour AsyncContext, Kevin Wolf, 2009/10/22
- [Qemu-devel] [PATCH 7/8] linux-aio: Honour AsyncContext, Kevin Wolf, 2009/10/22
- [Qemu-devel] [PATCH 5/8] block: Use new AsyncContext for bdrv_read/write emulation, Kevin Wolf, 2009/10/22
- [Qemu-devel] [PATCH 8/8] Revert "qcow2: Bring synchronous read/write back to life", Kevin Wolf, 2009/10/22