qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH 0/5] block: remove unused emulation and synchronous functions
@ 2011-10-13 20:09 Stefan Hajnoczi
  2011-10-13 20:09 ` [Qemu-devel] [PATCH 1/5] block: drop emulation functions that use coroutines Stefan Hajnoczi
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: Stefan Hajnoczi @ 2011-10-13 20:09 UTC (permalink / raw)
  To: qemu-devel; +Cc: Kevin Wolf, Stefan Hajnoczi

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

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2011-10-14  9:52 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-10-13 20:09 [Qemu-devel] [PATCH 0/5] block: remove unused emulation and synchronous functions Stefan Hajnoczi
2011-10-13 20:09 ` [Qemu-devel] [PATCH 1/5] block: drop emulation functions that use coroutines Stefan Hajnoczi
2011-10-13 20:09 ` [Qemu-devel] [PATCH 2/5] raw-posix: remove bdrv_read()/bdrv_write() Stefan Hajnoczi
2011-10-13 20:09 ` [Qemu-devel] [PATCH 3/5] block: use coroutine interface for raw format Stefan Hajnoczi
2011-10-13 20:09 ` [Qemu-devel] [PATCH 4/5] block: drop .bdrv_read()/.bdrv_write() emulation Stefan Hajnoczi
2011-10-13 20:09 ` [Qemu-devel] [PATCH 5/5] block: drop bdrv_has_async_rw() Stefan Hajnoczi
2011-10-14  9:55 ` [Qemu-devel] [PATCH 0/5] block: remove unused emulation and synchronous functions Kevin Wolf

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).