block: relax direct io memory alignment
authorKeith Busch <kbusch@kernel.org>
Fri, 10 Jun 2022 19:58:29 +0000 (12:58 -0700)
committerJens Axboe <axboe@kernel.dk>
Mon, 27 Jun 2022 12:29:11 +0000 (06:29 -0600)
commitb1a000d3b8ec582da64bb644be633e5a0beffcbf
tree960fc00a20dbe8733f847f441205dae3be20b189
parent5debd9691c3ac64c3acd6867c264ad38bbe48cdc
block: relax direct io memory alignment

Use the address alignment requirements from the block_device for direct
io instead of requiring addresses be aligned to the block size. User
space can discover the alignment requirements from the dma_alignment
queue attribute.

User space can specify any hardware compatible DMA offset for each
segment, but every segment length is still required to be a multiple of
the block size.

Signed-off-by: Keith Busch <kbusch@kernel.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Link: https://lore.kernel.org/r/20220610195830.3574005-11-kbusch@fb.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
block/bio.c
block/fops.c
include/linux/blkdev.h