]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
ext4: Convert ext4_fc_submit_bh() to bh_submit()
authorMatthew Wilcox (Oracle) <willy@infradead.org>
Thu, 28 May 2026 17:31:26 +0000 (18:31 +0100)
committerChristian Brauner <brauner@kernel.org>
Thu, 4 Jun 2026 08:28:07 +0000 (10:28 +0200)
Avoid an extra indirect function call by converting
ext4_end_buffer_io_sync() from bh_end_io_t to bio_end_io_t and
calling bh_submit().

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Link: https://patch.msgid.link/20260528173150.1093780-14-willy@infradead.org
Reviewed-by: Jan Kara <jack@suse.cz>
Cc: linux-ext4@vger.kernel.org
Signed-off-by: Christian Brauner (Amutable) <brauner@kernel.org>
fs/ext4/fast_commit.c

index b3c22636251dde7e36262212204c0e3b3ff73c78..5773b85e43cbcd77e7804da7accd15a69a1b582d 100644 (file)
 #include <trace/events/ext4.h>
 static struct kmem_cache *ext4_fc_dentry_cachep;
 
-static void ext4_end_buffer_io_sync(struct buffer_head *bh, int uptodate)
+static void ext4_end_buffer_io_sync(struct bio *bio)
 {
+       struct buffer_head *bh;
+       bool uptodate = bio_endio_bh(bio, &bh);
+
        BUFFER_TRACE(bh, "");
        if (uptodate) {
                ext4_debug("%s: Block %lld up-to-date",
@@ -659,8 +662,7 @@ static void ext4_fc_submit_bh(struct super_block *sb, bool is_tail)
        lock_buffer(bh);
        set_buffer_dirty(bh);
        set_buffer_uptodate(bh);
-       bh->b_end_io = ext4_end_buffer_io_sync;
-       submit_bh(REQ_OP_WRITE | write_flags, bh);
+       bh_submit(bh, REQ_OP_WRITE | write_flags, ext4_end_buffer_io_sync);
        EXT4_SB(sb)->s_fc_bh = NULL;
 }