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;
        wbc_account_cgroup_owner(io->io_wbc, folio, bh->b_size);
-- 
2.47.3



_______________________________________________
Linux-f2fs-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel

Reply via email to