Previous series have already converted some block drivers to byte-based rather than sector-based interfaces. However, the common I/O path as well as raw-posix still enforced a minimum alignment of 512 bytes because some sector-based logic was involved.
This patch series removes these limitations and a sub-sector request actually ends up as a sub-sector syscall now. Kevin Wolf (6): block: Byte-based bdrv_co_do_copy_on_readv() block: Prepare bdrv_aligned_preadv() for byte-aligned requests block: Prepare bdrv_aligned_pwritev() for byte-aligned requests raw-posix: Switch to bdrv_co_* interfaces raw-posix: Implement .bdrv_co_preadv/pwritev block: Don't enforce 512 byte minimum alignment block.c | 2 +- block/io.c | 125 +++++++++++++++++++++++++------------------------- block/linux-aio.c | 83 ++++++++++++++++++++++++--------- block/mirror.c | 10 ++-- block/raw-aio.h | 2 + block/raw-posix.c | 61 ++++++++++++------------ include/block/block.h | 10 ++-- 7 files changed, 169 insertions(+), 124 deletions(-) -- 1.8.3.1
