mbox series

[v2,0/6] block: byte-based AIO read/write

Message ID 20180424192506.149089-1-eblake@redhat.com
Headers show
Series block: byte-based AIO read/write | expand

Message

Eric Blake April 24, 2018, 7:25 p.m. UTC
While we would prefer that block drivers use coroutines instead
of aio callbacks, it is a fairly easy exercise to prove that
all existing drivers with aio callbacks are merely scaling
from bytes into sectors and back to bytes.  So, even though I
am not set up to completely run (or even compile-test) this
full series, it seems pretty straightforward to change the
signature to quit playing games with pointless scaling.

Incorporate Kevin's review on v1, which amounted to pretty much
rewriting the series to be saner (the block layer now defaults
to alignment of 1, so drivers that still need 512 for keeping the
patch conservative have to override that; and improve the code
in io.c to put byte-based access before sector-based fallbacks).

001/6:[0023] [FC] 'block: Support byte-based aio callbacks'
002/6:[0011] [FC] 'file-win32: Switch to byte-based callbacks'
003/6:[0007] [FC] 'null: Switch to byte-based read/write'
004/6:[0008] [FC] 'rbd: Switch to byte-based callbacks'
005/6:[0007] [FC] 'vxhs: Switch to byte-based callbacks'
006/6:[0093] [FC] 'block: Drop last of the sector-based aio callbacks'

Eric Blake (6):
  block: Support byte-based aio callbacks
  file-win32: Switch to byte-based callbacks
  null: Switch to byte-based read/write
  rbd: Switch to byte-based callbacks
  vxhs: Switch to byte-based callbacks
  block: Drop last of the sector-based aio callbacks

 include/block/block_int.h |  8 +++---
 include/block/raw-aio.h   |  2 +-
 block/io.c                | 64 ++++++++++++++++++++++++++---------------------
 block/file-win32.c        | 47 +++++++++++++++++++++-------------
 block/null.c              | 59 ++++++++++++++++++++++---------------------
 block/rbd.c               | 44 +++++++++++++++++---------------
 block/vxhs.c              | 43 +++++++++++++++----------------
 block/win32-aio.c         |  5 ++--
 8 files changed, 148 insertions(+), 124 deletions(-)

Comments

Kevin Wolf April 25, 2018, 10:59 a.m. UTC | #1
Am 24.04.2018 um 21:25 hat Eric Blake geschrieben:
> While we would prefer that block drivers use coroutines instead
> of aio callbacks, it is a fairly easy exercise to prove that
> all existing drivers with aio callbacks are merely scaling
> from bytes into sectors and back to bytes.  So, even though I
> am not set up to completely run (or even compile-test) this
> full series, it seems pretty straightforward to change the
> signature to quit playing games with pointless scaling.
> 
> Incorporate Kevin's review on v1, which amounted to pretty much
> rewriting the series to be saner (the block layer now defaults
> to alignment of 1, so drivers that still need 512 for keeping the
> patch conservative have to override that; and improve the code
> in io.c to put byte-based access before sector-based fallbacks).

Thanks, applied to the block-next branch.

Kevin