]> git.baikalelectronics.ru Git - kernel.git/commitdiff
ext4: pass the operation to bio_alloc
authorChristoph Hellwig <hch@lst.de>
Tue, 22 Feb 2022 15:46:33 +0000 (16:46 +0100)
committerJens Axboe <axboe@kernel.dk>
Sun, 27 Feb 2022 21:50:07 +0000 (14:50 -0700)
Refactor the readpage code to pass the op to bio_alloc instead of setting
it just before the submission.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Acked-by: Theodore Ts'o <tytso@mit.edu>
Link: https://lore.kernel.org/r/20220222154634.597067-3-hch@lst.de
Signed-off-by: Jens Axboe <axboe@kernel.dk>
fs/ext4/page-io.c

index 12539822687305dc720d060a5e75e84891bb3d60..35ada7baf41e5b58783967bcba25afd799f3cad1 100644 (file)
@@ -372,10 +372,9 @@ void ext4_io_submit(struct ext4_io_submit *io)
        struct bio *bio = io->io_bio;
 
        if (bio) {
-               int io_op_flags = io->io_wbc->sync_mode == WB_SYNC_ALL ?
-                                 REQ_SYNC : 0;
+               if (io->io_wbc->sync_mode == WB_SYNC_ALL)
+                       io->io_bio->bi_opf |= REQ_SYNC;
                io->io_bio->bi_write_hint = io->io_end->inode->i_write_hint;
-               bio_set_op_attrs(io->io_bio, REQ_OP_WRITE, io_op_flags);
                submit_bio(io->io_bio);
        }
        io->io_bio = NULL;
@@ -398,7 +397,7 @@ static void io_submit_init_bio(struct ext4_io_submit *io,
         * bio_alloc will _always_ be able to allocate a bio if
         * __GFP_DIRECT_RECLAIM is set, see comments for bio_alloc_bioset().
         */
-       bio = bio_alloc(bh->b_bdev, BIO_MAX_VECS, 0, GFP_NOIO);
+       bio = bio_alloc(bh->b_bdev, BIO_MAX_VECS, REQ_OP_WRITE, GFP_NOIO);
        fscrypt_set_bio_crypt_ctx_bh(bio, bh, GFP_NOIO);
        bio->bi_iter.bi_sector = bh->b_blocknr * (bh->b_size >> 9);
        bio->bi_end_io = ext4_end_bio;