From: Keith Busch <[email protected]> Direct-io can support any memory alignment the hardware allows. Device mappers don't need to impose any software constraints on memory alignment, so this series removes one of those limitations.
Changes from the v1, which was an incomplete RFC: * A block layer prep patch to allow stacking drivers to define their own lower dma alignment limit. * Prevent reporting the relaxed alignment for any of the initialization vector types that use the scatterlist for other purposes beyond encrypt/decrypt. * Keep the error handling for data that unaligned data, but instead using the block device's queue limits. * Use the same scatterlist setup for both the in and out vectors. * Use multipage bvecs. * Check the alignment as the scatterlist is being built. * A follow up patch provides support for dynamic scatterlist allocation when the base bio has a lot fragmented segments. Keith Busch (3): block: remove stacking default dma_alignment dm-crypt: allow unaligned bio_vecs for direct io dm-crypt: dynamic scatterlist for many segments block/blk-settings.c | 1 - drivers/md/dm-crypt.c | 105 ++++++++++++++++++++++++++++++++++-------- 2 files changed, 86 insertions(+), 20 deletions(-) -- 2.47.3
