summaryrefslogtreecommitdiff
path: root/fs/buffer.c
diff options
context:
space:
mode:
authorMark Brown <broonie@kernel.org>2026-07-26 20:26:40 +0100
committerMark Brown <broonie@kernel.org>2026-07-26 20:26:40 +0100
commit466740fe0b4ae70ac88c263ad4f05e3648da00f2 (patch)
treec658fa0d18adcd30e6624dea158b5478df42907d /fs/buffer.c
parentd8b66f5c701171283fe8c7809508cbef5126de62 (diff)
parent97e211ad1a34a5a979558a037619b9e633ca8620 (diff)
downloadlinux-next-466740fe0b4ae70ac88c263ad4f05e3648da00f2.tar.gz
linux-next-466740fe0b4ae70ac88c263ad4f05e3648da00f2.zip
Merge branch 'dev' of https://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4.git
Diffstat (limited to 'fs/buffer.c')
-rw-r--r--fs/buffer.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/buffer.c b/fs/buffer.c
index 21dd9596a941..b62e7de421b5 100644
--- a/fs/buffer.c
+++ b/fs/buffer.c
@@ -2148,6 +2148,7 @@ void block_commit_write(struct folio *folio, size_t from, size_t to)
{
size_t block_start, block_end;
bool partial = false;
+ bool uptodate = folio_test_uptodate(folio);
unsigned blocksize;
struct buffer_head *bh, *head;
@@ -2170,6 +2171,8 @@ void block_commit_write(struct folio *folio, size_t from, size_t to)
clear_buffer_new(bh);
block_start = block_end;
+ if (uptodate && block_start >= to)
+ break;
bh = bh->b_this_page;
} while (bh != head);