From: Keith Busch <[email protected]> This is the updated series for allowing arbitrary memory alignment, enabling direct-io without bounce buffers for dm-crypt.
The previous version was posted here: https://lore.kernel.org/dm-devel/[email protected]/ Changes from v4: * Updated the mempool count to MIN_IOS, as requested. * Fixed the issue observed from cryptsetup testsuite. The problem was an early return path accessing unitialized fields. The fix just initializes them before. * I discovered we may be in softirq context when allocating, so had to add handling for ENOMEM. But then also noticed existing ENOMEM cases were just being generically handled in the default case returning EIO, so I introduced a prep patch to make these transient resource issues retryable. Keith Busch (3): dm: initialize dma_alignment to 0 dm-crypt: handle memory allocation failures dm-crypt: allow unaligned bio_vecs for direct io drivers/md/dm-crypt.c | 183 ++++++++++++++++++++++++++++++++++++------ drivers/md/dm-table.c | 1 + 2 files changed, 159 insertions(+), 25 deletions(-) -- 2.52.0
