From: Matthew Wilcox (Oracle) Date: Fri, 24 Oct 2025 17:08:11 +0000 (+0100) Subject: buffer: Use folio_next_pos() X-Git-Tag: v6.19-rc1~246^2~1^2~7 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6870892b6437bf7bdf37ca875bf842fe1e1385df;p=thirdparty%2Fkernel%2Flinux.git buffer: Use folio_next_pos() This is one instruction more efficient than open-coding folio_pos() + folio_size(). It's the equivalent of (x + y) << z rather than x << z + y << z. Signed-off-by: Matthew Wilcox (Oracle) Link: https://patch.msgid.link/20251024170822.1427218-4-willy@infradead.org Reviewed-by: Jan Kara Reviewed-by: Christoph Hellwig Cc: Jan Kara Signed-off-by: Christian Brauner --- diff --git a/fs/buffer.c b/fs/buffer.c index 6a8752f7bbedb..185ceb0d6baa2 100644 --- a/fs/buffer.c +++ b/fs/buffer.c @@ -2732,7 +2732,7 @@ int block_write_full_folio(struct folio *folio, struct writeback_control *wbc, loff_t i_size = i_size_read(inode); /* Is the folio fully inside i_size? */ - if (folio_pos(folio) + folio_size(folio) <= i_size) + if (folio_next_pos(folio) <= i_size) return __block_write_full_folio(inode, folio, get_block, wbc); /* Is the folio fully outside i_size? (truncate in progress) */