mirror of
https://github.com/nxp-imx/linux-imx.git
synced 2025-07-09 02:45:20 +02:00
FROMLIST: dm-verity: provide dma_alignment limit in io_hints
Since Linux v6.1, some filesystems support submitting direct I/O that is aligned to only dma_alignment instead of the logical_block_size alignment that was required before. I/O that is not aligned to the logical_block_size is difficult to handle in device-mapper targets that do cryptographic processing of data, as it makes the units of data that are hashed or encrypted possibly be split across pages, creating rarely used and rarely tested edge cases. As such, dm-crypt and dm-integrity have already opted out of this by setting dma_alignment to 'logical_block_size - 1'. Although dm-verity does have code that handles these cases (or at least is intended to do so), supporting direct I/O with such a low amount of alignment is not really useful on dm-verity devices. So, opt dm-verity out of it too so that it's not necessary to handle these edge cases. Reviewed-by: Sami Tolvanen <samitolvanen@google.com> Acked-by: Ard Biesheuvel <ardb@kernel.org> Signed-off-by: Eric Biggers <ebiggers@google.com> Bug: 330611177 Link: https://lore.kernel.org/r/20240621165922.77672-11-ebiggers@kernel.org Change-Id: I1cb4661368363af4244376b8ab89ab743f26fa6d Signed-off-by: Eric Biggers <ebiggers@google.com>
This commit is contained in:
parent
a936860934
commit
901b6a1577
|
@ -1002,6 +1002,8 @@ static void verity_io_hints(struct dm_target *ti, struct queue_limits *limits)
|
|||
limits->physical_block_size = 1 << v->data_dev_block_bits;
|
||||
|
||||
blk_limits_io_min(limits, limits->logical_block_size);
|
||||
|
||||
limits->dma_alignment = limits->logical_block_size - 1;
|
||||
}
|
||||
|
||||
static void verity_dtr(struct dm_target *ti)
|
||||
|
|
Loading…
Reference in New Issue
Block a user