Skip to content

Commit efe99bb

Browse files
author
Matthew Wilcox (Oracle)
committed
truncate: Add truncate_cleanup_folio()
Convert both callers of truncate_cleanup_page() to use truncate_cleanup_folio() instead. Signed-off-by: Matthew Wilcox (Oracle) <[email protected]> Reviewed-by: Christoph Hellwig <[email protected]> Reviewed-by: William Kucharski <[email protected]>
1 parent 82c50f8 commit efe99bb

File tree

1 file changed

+11
-10
lines changed

1 file changed

+11
-10
lines changed

mm/truncate.c

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -177,21 +177,21 @@ void do_invalidatepage(struct page *page, unsigned int offset,
177177
* its lock, b) when a concurrent invalidate_mapping_pages got there first and
178178
* c) when tmpfs swizzles a page between a tmpfs inode and swapper_space.
179179
*/
180-
static void truncate_cleanup_page(struct page *page)
180+
static void truncate_cleanup_folio(struct folio *folio)
181181
{
182-
if (page_mapped(page))
183-
unmap_mapping_page(page);
182+
if (folio_mapped(folio))
183+
unmap_mapping_page(&folio->page);
184184

185-
if (page_has_private(page))
186-
do_invalidatepage(page, 0, thp_size(page));
185+
if (folio_has_private(folio))
186+
do_invalidatepage(&folio->page, 0, folio_size(folio));
187187

188188
/*
189189
* Some filesystems seem to re-dirty the page even after
190190
* the VM has canceled the dirty bit (eg ext3 journaling).
191191
* Hence dirty accounting check is placed after invalidation.
192192
*/
193-
cancel_dirty_page(page);
194-
ClearPageMappedToDisk(page);
193+
folio_cancel_dirty(folio);
194+
folio_clear_mappedtodisk(folio);
195195
}
196196

197197
/*
@@ -220,13 +220,14 @@ invalidate_complete_page(struct address_space *mapping, struct page *page)
220220

221221
int truncate_inode_page(struct address_space *mapping, struct page *page)
222222
{
223+
struct folio *folio = page_folio(page);
223224
VM_BUG_ON_PAGE(PageTail(page), page);
224225

225226
if (page->mapping != mapping)
226227
return -EIO;
227228

228-
truncate_cleanup_page(page);
229-
delete_from_page_cache(page);
229+
truncate_cleanup_folio(folio);
230+
filemap_remove_folio(folio);
230231
return 0;
231232
}
232233

@@ -332,7 +333,7 @@ void truncate_inode_pages_range(struct address_space *mapping,
332333
index = indices[pagevec_count(&pvec) - 1] + 1;
333334
truncate_exceptional_pvec_entries(mapping, &pvec, indices);
334335
for (i = 0; i < pagevec_count(&pvec); i++)
335-
truncate_cleanup_page(pvec.pages[i]);
336+
truncate_cleanup_folio(page_folio(pvec.pages[i]));
336337
delete_from_page_cache_batch(mapping, &pvec);
337338
for (i = 0; i < pagevec_count(&pvec); i++)
338339
unlock_page(pvec.pages[i]);

0 commit comments

Comments
 (0)