All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH 0/9] block-backend: Use coroutine for flush/discard/ioctl
@ 2016-10-20 13:46 Kevin Wolf
  2016-10-20 13:46 ` [Qemu-devel] [PATCH 1/9] block: Use blk_co_flush() for all BB level flushes Kevin Wolf
                   ` (10 more replies)
  0 siblings, 11 replies; 23+ messages in thread
From: Kevin Wolf @ 2016-10-20 13:46 UTC (permalink / raw)
  To: qemu-block; +Cc: kwolf, mreitz, pbonzini, qemu-devel

Paolo, this is my attempt at implementing what you were asking for last Friday.
I converted blk_(co_)flush/pdiscard/ioctl so that all interfaces (coroutine,
AIO, sync) go through the same coroutine-based function already on the
BlockBackend level. Where it was reasonably easy, I also removed the
corresponding emulations from block/io.c IIUC, this should cover your immediate
needs.


Function to remove this series leaves for another day:

* bdrv_aio_flush (used by blkdebug, blkverify, qed)
* bdrv_flush (even more users)
* bdrv_pdiscard (used by qcow2)


BlockDriver callbacks to remove left for another day:

* bdrv_aio_pdiscard (implemented by raw-posix and rbd)
* bdrv_aio_ioctl (implemented by raw-posix and iscsi)

In both cases, raw-posix is trivial to covert, but iscsi and rbd feel rather
scary without a proper test setup.


Kevin Wolf (9):
  block: Use blk_co_flush() for all BB level flushes
  block: Use blk_co_pdiscard() for all BB level discard
  block: Remove bdrv_aio_pdiscard()
  block: Use blk_co_ioctl() for all BB level ioctls
  raw-posix: Don't use bdrv_ioctl()
  block: Remove bdrv_ioctl()
  block: Introduce .bdrv_co_ioctl() driver callback
  raw: Implement .bdrv_co_ioctl instead of .bdrv_aio_ioctl
  block: Remove bdrv_aio_ioctl()

 block/block-backend.c          |  94 ++++++++++++++++++++++++----------
 block/io.c                     | 111 ++++-------------------------------------
 block/raw-posix.c              |  16 ++++--
 block/raw_bsd.c                |   9 ++--
 block/trace-events             |   1 -
 include/block/block.h          |   8 +--
 include/block/block_int.h      |   2 +
 include/sysemu/block-backend.h |   1 +
 8 files changed, 98 insertions(+), 144 deletions(-)

-- 
1.8.3.1

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

end of thread, other threads:[~2016-10-21 13:45 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-10-20 13:46 [Qemu-devel] [PATCH 0/9] block-backend: Use coroutine for flush/discard/ioctl Kevin Wolf
2016-10-20 13:46 ` [Qemu-devel] [PATCH 1/9] block: Use blk_co_flush() for all BB level flushes Kevin Wolf
2016-10-20 16:13   ` Eric Blake
2016-10-20 13:46 ` [Qemu-devel] [PATCH 2/9] block: Use blk_co_pdiscard() for all BB level discard Kevin Wolf
2016-10-20 16:18   ` Eric Blake
2016-10-20 13:46 ` [Qemu-devel] [PATCH 3/9] block: Remove bdrv_aio_pdiscard() Kevin Wolf
2016-10-20 17:32   ` Eric Blake
2016-10-21 10:59     ` Kevin Wolf
2016-10-21 13:45       ` Eric Blake
2016-10-20 13:46 ` [Qemu-devel] [PATCH 4/9] block: Use blk_co_ioctl() for all BB level ioctls Kevin Wolf
2016-10-20 17:40   ` Eric Blake
2016-10-20 13:46 ` [Qemu-devel] [PATCH 5/9] raw-posix: Don't use bdrv_ioctl() Kevin Wolf
2016-10-20 17:45   ` Eric Blake
2016-10-20 13:46 ` [Qemu-devel] [PATCH 6/9] block: Remove bdrv_ioctl() Kevin Wolf
2016-10-20 17:47   ` Eric Blake
2016-10-20 13:46 ` [Qemu-devel] [PATCH 7/9] block: Introduce .bdrv_co_ioctl() driver callback Kevin Wolf
2016-10-20 17:51   ` Eric Blake
2016-10-20 13:46 ` [Qemu-devel] [PATCH 8/9] raw: Implement .bdrv_co_ioctl instead of .bdrv_aio_ioctl Kevin Wolf
2016-10-20 17:52   ` Eric Blake
2016-10-20 13:46 ` [Qemu-devel] [PATCH 9/9] block: Remove bdrv_aio_ioctl() Kevin Wolf
2016-10-20 17:53   ` Eric Blake
2016-10-20 14:37 ` [Qemu-devel] [PATCH 0/9] block-backend: Use coroutine for flush/discard/ioctl Paolo Bonzini
2016-10-20 15:20 ` no-reply

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.