On Thu, 3 Nov 2022 08:25:56 -0700 Keith Busch <kbusch@xxxxxxxx> wrote: > From: Keith Busch <kbusch@xxxxxxxxxx> > > The 6.0 kernel made some changes to the direct io interface to allow > offsets in user addresses. This based on the hardware's capabilities > reported in the request_queue's dma_alignment attribute. > > dm-crypt requires direct io be aligned to the block size. Since it was > only ever using the default 511 dma mask, this requirement may fail if > formatted to something larger, like 4k, which will result in > unexpected behavior with direct-io. > > There are two parts to fixing this: > > First, the attribute needs to be moved to the queue_limit so that it > can properly stack with device mappers. > > Second, dm-crypt provides its minimum required limit to match the > logical block size. > > Keith Busch (3): > block: make dma_alignment a stacking queue_limit > dm-crypt: provide dma_alignment limit in io_hints > block: make blk_set_default_limits() private > > block/blk-core.c | 1 - > block/blk-settings.c | 9 +++++---- > block/blk.h | 1 + > drivers/md/dm-crypt.c | 1 + > include/linux/blkdev.h | 16 ++++++++-------- > 5 files changed, 15 insertions(+), 13 deletions(-) > Applied on top 6.1-rc3, after that issue[1] doesn't reproduce. [1] https://lore.kernel.org/linux-block/20221101001558.648ee024@xxxxxxxxxxxxx/ -- dm-devel mailing list dm-devel@xxxxxxxxxx https://listman.redhat.com/mailman/listinfo/dm-devel