mm/migrate: Convert expected_page_refs() to folio_expected_refs()
Now that both callers have a folio, convert this function to take a folio & rename it. Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org> Reviewed-by: Christoph Hellwig <hch@lst.de>
This commit is contained in:
parent
67235182a4
commit
108ca83581
19
mm/migrate.c
19
mm/migrate.c
|
@ -336,13 +336,18 @@ unlock:
|
|||
}
|
||||
#endif
|
||||
|
||||
static int expected_page_refs(struct address_space *mapping, struct page *page)
|
||||
static int folio_expected_refs(struct address_space *mapping,
|
||||
struct folio *folio)
|
||||
{
|
||||
int expected_count = 1;
|
||||
int refs = 1;
|
||||
if (!mapping)
|
||||
return refs;
|
||||
|
||||
if (mapping)
|
||||
expected_count += compound_nr(page) + page_has_private(page);
|
||||
return expected_count;
|
||||
refs += folio_nr_pages(folio);
|
||||
if (folio_test_private(folio))
|
||||
refs++;
|
||||
|
||||
return refs;
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -359,7 +364,7 @@ int folio_migrate_mapping(struct address_space *mapping,
|
|||
XA_STATE(xas, &mapping->i_pages, folio_index(folio));
|
||||
struct zone *oldzone, *newzone;
|
||||
int dirty;
|
||||
int expected_count = expected_page_refs(mapping, &folio->page) + extra_count;
|
||||
int expected_count = folio_expected_refs(mapping, folio) + extra_count;
|
||||
long nr = folio_nr_pages(folio);
|
||||
|
||||
if (!mapping) {
|
||||
|
@ -669,7 +674,7 @@ static int __buffer_migrate_folio(struct address_space *mapping,
|
|||
return migrate_page(mapping, &dst->page, &src->page, mode);
|
||||
|
||||
/* Check whether page does not have extra refs before we do more work */
|
||||
expected_count = expected_page_refs(mapping, &src->page);
|
||||
expected_count = folio_expected_refs(mapping, src);
|
||||
if (folio_ref_count(src) != expected_count)
|
||||
return -EAGAIN;
|
||||
|
||||
|
|
Loading…
Reference in New Issue