From: Keith Busch <kbusch@xxxxxxxxxx> In furthering direct IO use from user space buffers without bouncing to align to unnecessary kernel software constraints, this series removes the requirement that io vector lengths align to the logical block size. The downside (if want to call it that) is that mis-aligned io vectors are caught further down the block stack rather than closer to the syscall. This change also removes one walking of the io vector, so that's nice too. Keith Busch (7): block: check for valid bio while splitting block: align the bio after building it block: simplify direct io validity check iomap: simplify direct io validity check block: remove bdev_iter_is_aligned blk-integrity: use simpler alignment check iov_iter: remove iov_iter_is_aligned block/bio-integrity.c | 4 +- block/bio.c | 58 +++++++++++++++++--------- block/blk-merge.c | 5 +++ block/fops.c | 4 +- fs/iomap/direct-io.c | 3 +- include/linux/blkdev.h | 7 ---- include/linux/uio.h | 2 - lib/iov_iter.c | 95 ------------------------------------------ 8 files changed, 49 insertions(+), 129 deletions(-) -- 2.47.3