Make __blk_queue_bounce respect blk_crypto_bio_sectors_alignment()
when calling bio_split().

Signed-off-by: Satya Tangirala <sat...@google.com>
---
 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

Reply via email to