Make __blk_queue_bounce respect blk_crypto_bio_sectors_alignment()
when calling bio_split().
Signed-off-by: Satya Tangirala <[email protected]>
---
block/bounce.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/block/bounce.c b/block/bounce.c
index d3f51acd6e3b..7800e2a5a0f8 100644
--- a/block/bounce.c
+++ b/block/bounce.c
@@ -305,6 +305,9 @@ static void __blk_queue_bounce(struct request_queue *q, struct bio **bio_orig,
if (!bounce)
return;
+ sectors = round_down(sectors,
+ blk_crypto_bio_sectors_alignment(*bio_orig));
+
if (!passthrough && sectors < bio_sectors(*bio_orig)) {
bio = bio_split(*bio_orig, sectors, GFP_NOIO, &bounce_bio_split);
bio_chain(bio, *bio_orig);
--
2.30.0.284.gd98b1dd5eaa7-goog
On Thu, Jan 14, 2021 at 03:47:19PM +0000, Satya Tangirala wrote:
> Make __blk_queue_bounce respect blk_crypto_bio_sectors_alignment()
> when calling bio_split().
bounce.c is legacy code that no new driver should use and which we
need to phase out ASAP. It should be entirely exclusive vs use of a
modern feature like inline crypto.