Re: [PATCH 02/14] ext4: open code fscrypt_set_bio_crypt_ctx_bh

Eric Biggers <[email protected]>
Newsgroups org.kernel.vger.linux-fscrypt,net.sourceforge.lists.linux-f2fs-devel,org.kernel.vger.linux-ext4,org.kernel.vger.linux-fsdevel
Message-ID <20260227211946.GB2659@quark>
On Thu, Feb 26, 2026 at 06:49:22AM -0800, Christoph Hellwig wrote:
> io_submit_init_bio already has or can easily get at most information
> needed to set the crypto context.  Open code fscrypt_set_bio_crypt_ctx_bh
> based on that.
> 
> Signed-off-by: Christoph Hellwig <[email protected]>
> ---
>  fs/ext4/page-io.c | 8 ++++++--
>  1 file changed, 6 insertions(+), 2 deletions(-)
> 
> diff --git a/fs/ext4/page-io.c b/fs/ext4/page-io.c
> index a3644d6cb65f..851d1267054a 100644
> --- a/fs/ext4/page-io.c
> +++ b/fs/ext4/page-io.c
> @@ -417,6 +417,7 @@ void ext4_io_submit_init(struct ext4_io_submit *io,
>  
>  static void io_submit_init_bio(struct ext4_io_submit *io,
>  			       struct inode *inode,
> +			       struct folio *io_folio,
>  			       struct buffer_head *bh)
>  {
>  	struct bio *bio;
> @@ -426,7 +427,10 @@ static void io_submit_init_bio(struct ext4_io_submit *io,
>  	 * __GFP_DIRECT_RECLAIM is set, see comments for bio_alloc_bioset().
>  	 */
>  	bio = bio_alloc(bh->b_bdev, BIO_MAX_VECS, REQ_OP_WRITE, GFP_NOIO);
> -	fscrypt_set_bio_crypt_ctx_bh(bio, bh, GFP_NOIO);
> +	fscrypt_set_bio_crypt_ctx(bio, inode,
> +			(folio_pos(io_folio) + bh_offset(bh)) >>
> +				inode->i_blkbits,
> +			GFP_NOIO);
>  	bio->bi_iter.bi_sector = bh->b_blocknr * (bh->b_size >> 9);
>  	bio->bi_end_io = ext4_end_bio;
>  	bio->bi_private = ext4_get_io_end(io->io_end);
> @@ -448,7 +452,7 @@ static void io_submit_add_bh(struct ext4_io_submit *io,
>  		ext4_io_submit(io);
>  	}
>  	if (io->io_bio == NULL)
> -		io_submit_init_bio(io, inode, bh);
> +		io_submit_init_bio(io, inode, io_folio, bh);
>  	if (!bio_add_folio(io->io_bio, io_folio, bh->b_size, bh_offset(bh)))
>  		goto submit_and_retry;

This should use 'folio', not 'io_folio'.  folio_pos() works only for
pagecache folios.

- Eric
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.