From: Christoph Hellwig Date: Mon, 2 Mar 2026 14:18:06 +0000 (-0800) Subject: ext4: initialize the write hint in io_submit_init_bio X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7737b1b448738be650ddc51fe64b8aae42d433c1;p=thirdparty%2Fkernel%2Fstable.git ext4: initialize the write hint in io_submit_init_bio Make io_submit_init_bio complete by also initializing the write hint. Signed-off-by: Christoph Hellwig Link: https://lore.kernel.org/r/20260302141922.370070-2-hch@lst.de Signed-off-by: Eric Biggers --- diff --git a/fs/ext4/page-io.c b/fs/ext4/page-io.c index a8c95eee91b79..b8cf9f6f9e0b3 100644 --- a/fs/ext4/page-io.c +++ b/fs/ext4/page-io.c @@ -416,6 +416,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 buffer_head *bh) { struct bio *bio; @@ -429,6 +430,7 @@ static void io_submit_init_bio(struct ext4_io_submit *io, 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); + bio->bi_write_hint = inode->i_write_hint; io->io_bio = bio; io->io_next_block = bh->b_blocknr; wbc_init_bio(io->io_wbc, bio); @@ -445,10 +447,8 @@ static void io_submit_add_bh(struct ext4_io_submit *io, submit_and_retry: ext4_io_submit(io); } - if (io->io_bio == NULL) { - io_submit_init_bio(io, bh); - io->io_bio->bi_write_hint = inode->i_write_hint; - } + if (io->io_bio == NULL) + io_submit_init_bio(io, inode, 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);