Hi The patchset seems OK - but dm-integrity also has a limitation that the bio vectors must be aligned on logical block size. dm-writecache and dm-verity seem to handle unaligned bioset, but you should check them anyway. I'm not sure about dm-log-writes. Mikulas On Thu, 3 Nov 2022, Keith Busch 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(-) > > -- > 2.30.2 >