diff options
author | Matthew Wilcox (Oracle) <willy@infradead.org> | 2022-06-29 02:15:29 +0200 |
---|---|---|
committer | Matthew Wilcox (Oracle) <willy@infradead.org> | 2022-06-29 14:49:43 +0200 |
commit | fb5c2029f8221e904e604938171c4a8ef169aadb (patch) | |
tree | 2fffeceec685ebba8d5fbd83d5d89b3b605e189b /mm/shmem.c | |
parent | Merge tag 'char-misc-5.19-rc4' of git://git.kernel.org/pub/scm/linux/kernel/g... (diff) | |
download | linux-fb5c2029f8221e904e604938171c4a8ef169aadb.tar.xz linux-fb5c2029f8221e904e604938171c4a8ef169aadb.zip |
mm: Account dirty folios properly during splits
If the last folio in a file is split as a result of truncation,
we simply clear the dirty bits for the pages we're discarding.
That causes NR_FILE_DIRTY (among other counters) to be thrown off
and eventually Linux will hang in balance_dirty_pages_ratelimited()
Reported-by: Dave Chinner <dchinner@redhat.com>
Tested-by: Dave Chinner <dchinner@redhat.com>
Tested-by: Darrick J. Wong <djwong@kernel.org>
Fixes: d68eccad3706 ("mm/filemap: Allow large folios to be added to the page cache")
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Diffstat (limited to 'mm/shmem.c')
0 files changed, 0 insertions, 0 deletions