From: Eric Biggers <ebiggers@kernel.org>
To: Christoph Hellwig <hch@lst.de>
Cc: Jens Axboe <axboe@kernel.dk>,
linux-block@vger.kernel.org, linux-fsdevel@vger.kernel.org,
linux-fscrypt@vger.kernel.org
Subject: Re: [PATCH 5/9] blk-crypto: optimize bio splitting in blk_crypto_fallback_encrypt_bio
Date: Fri, 19 Dec 2025 12:08:37 -0800 [thread overview]
Message-ID: <20251219200837.GF1602@sol> (raw)
In-Reply-To: <20251217060740.923397-6-hch@lst.de>
On Wed, Dec 17, 2025 at 07:06:48AM +0100, Christoph Hellwig wrote:
> + if (++enc_idx == enc_bio->bi_max_vecs) {
> + /*
> + * For each additional encrypted bio submitted,
> + * increment the source bio's remaining count. Each
> + * encrypted bio's completion handler calls bio_endio on
> + * the source bio, so this keeps the source bio from
> + * completing until the last encrypted bio does.
> + */
> + bio_inc_remaining(src_bio);
> + submit_bio(enc_bio);
> + goto new_bio;
> + }
Actually I think using bi_max_vecs is broken.
This code assumes that bi_max_vecs matches the nr_segs that was passed
to bio_alloc_bioset().
That assumption is incorrect, though. If nr_segs > 0 && nr_segs <
BIO_INLINE_VECS, bio_alloc_bioset() sets bi_max_vecs to BIO_INLINE_VECS.
BIO_INLINE_VECS is 4.
I think blk_crypto_alloc_enc_bio() will need to return a nr_enc_pages
value. That value will need to be used above as well as at
out_free_enc_bio, instead of bi_max_vecs.
- Eric
next prev parent reply other threads:[~2025-12-19 20:08 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-12-17 6:06 move blk-crypto-fallback to sit above the block layer v3 Christoph Hellwig
2025-12-17 6:06 ` [PATCH 1/9] fscrypt: pass a real sector_t to fscrypt_zeroout_range_inline_crypt Christoph Hellwig
2025-12-17 6:06 ` [PATCH 2/9] fscrypt: keep multiple bios in flight in fscrypt_zeroout_range_inline_crypt Christoph Hellwig
2025-12-17 6:06 ` [PATCH 3/9] blk-crypto: add a bio_crypt_ctx() helper Christoph Hellwig
2025-12-19 19:50 ` Eric Biggers
2025-12-17 6:06 ` [PATCH 4/9] blk-crypto: submit the encrypted bio in blk_crypto_fallback_bio_prep Christoph Hellwig
2025-12-19 19:50 ` Eric Biggers
2025-12-17 6:06 ` [PATCH 5/9] blk-crypto: optimize bio splitting in blk_crypto_fallback_encrypt_bio Christoph Hellwig
2025-12-19 20:08 ` Eric Biggers [this message]
2025-12-22 22:12 ` Christoph Hellwig
2025-12-17 6:06 ` [PATCH 6/9] blk-crypto: use on-stack skcipher requests for fallback en/decryption Christoph Hellwig
2025-12-17 6:06 ` [PATCH 7/9] blk-crypto: use mempool_alloc_bulk for encrypted bio page allocation Christoph Hellwig
2025-12-19 20:02 ` Eric Biggers
2025-12-19 20:25 ` Eric Biggers
2025-12-22 22:16 ` Christoph Hellwig
2025-12-22 22:18 ` Christoph Hellwig
2026-01-06 7:39 ` Christoph Hellwig
2025-12-17 6:06 ` [PATCH 8/9] blk-crypto: optimize data unit alignment checking Christoph Hellwig
2025-12-19 20:14 ` Eric Biggers
2025-12-17 6:06 ` [PATCH 9/9] blk-crypto: handle the fallback above the block layer Christoph Hellwig
-- strict thread matches above, loose matches on Subject: below --
2026-01-09 6:07 move blk-crypto-fallback to sit above the block layer v5 Christoph Hellwig
2026-01-09 6:07 ` [PATCH 5/9] blk-crypto: optimize bio splitting in blk_crypto_fallback_encrypt_bio Christoph Hellwig
2026-01-06 7:36 move blk-crypto-fallback to sit above the block layer v4 Christoph Hellwig
2026-01-06 7:36 ` [PATCH 5/9] blk-crypto: optimize bio splitting in blk_crypto_fallback_encrypt_bio Christoph Hellwig
2025-12-10 15:23 move blk-crypto-fallback to sit above the block layer v2 Christoph Hellwig
2025-12-10 15:23 ` [PATCH 5/9] blk-crypto: optimize bio splitting in blk_crypto_fallback_encrypt_bio Christoph Hellwig
2025-12-13 0:56 ` Eric Biggers
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20251219200837.GF1602@sol \
--to=ebiggers@kernel.org \
--cc=axboe@kernel.dk \
--cc=hch@lst.de \
--cc=linux-block@vger.kernel.org \
--cc=linux-fscrypt@vger.kernel.org \
--cc=linux-fsdevel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.