[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 0/5] block: remove unused emulation and synchronous
From: |
Stefan Hajnoczi |
Subject: |
[Qemu-devel] [PATCH 0/5] block: remove unused emulation and synchronous functions |
Date: |
Thu, 13 Oct 2011 21:09:27 +0100 |
Now that the block layer processes requests in coroutine context, some of the
emulation wrappers and duplicate code paths can be dropped. Paraphrasing a
wise man, Arnold Schwarzenegger, "I will go to the block layer and I will clean
house" :).
They key thing behind this series is that the block layer processes requests in
coroutine context and will try to use .brdv_co_readv()/.bdrv_co_writev() when
possible. Should the BlockDriver not implement those interfaces, an emulation
function will be used to provide them using aio. If the BlockDriver does not
implement aio interfaces, then an emulation function will be used to provide
them using synchronous I/O.
This means:
1. A BlockDriver that implements coroutine interfaces does not need to
implement aio or synchronous interfaces.
2. A BlockDriver that implements aio interfaces does not need to implement
synchronous interfaces.
3. Coroutine interfaces are preferred and do not require any emulation
functions.
This patch series propagates these rules across existing BlockDrivers and
removes unused emulation functions from block.c.
Stefan Hajnoczi (5):
block: drop emulation functions that use coroutines
raw-posix: remove bdrv_read()/bdrv_write()
block: use coroutine interface for raw format
block: drop .bdrv_read()/.bdrv_write() emulation
block: drop bdrv_has_async_rw()
block.c | 142 ++-------------------------
block/raw-posix.c | 277 -----------------------------------------------------
block/raw.c | 32 ++-----
3 files changed, 18 insertions(+), 433 deletions(-)
--
1.7.6.3
- [Qemu-devel] [PATCH 0/5] block: remove unused emulation and synchronous functions,
Stefan Hajnoczi <=
- [Qemu-devel] [PATCH 3/5] block: use coroutine interface for raw format, Stefan Hajnoczi, 2011/10/13
- [Qemu-devel] [PATCH 4/5] block: drop .bdrv_read()/.bdrv_write() emulation, Stefan Hajnoczi, 2011/10/13
- [Qemu-devel] [PATCH 2/5] raw-posix: remove bdrv_read()/bdrv_write(), Stefan Hajnoczi, 2011/10/13
- [Qemu-devel] [PATCH 5/5] block: drop bdrv_has_async_rw(), Stefan Hajnoczi, 2011/10/13
- [Qemu-devel] [PATCH 1/5] block: drop emulation functions that use coroutines, Stefan Hajnoczi, 2011/10/13
- Re: [Qemu-devel] [PATCH 0/5] block: remove unused emulation and synchronous functions, Kevin Wolf, 2011/10/14