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(-)
--
2.14.3