diff options
Diffstat (limited to 'mm/internal.h')
-rw-r--r-- | mm/internal.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/mm/internal.h b/mm/internal.h index 6b7ef495b56d..d01130efce5f 100644 --- a/mm/internal.h +++ b/mm/internal.h @@ -163,6 +163,17 @@ static inline void set_page_refcounted(struct page *page) set_page_count(page, 1); } +/* + * Return true if a folio needs ->release_folio() calling upon it. + */ +static inline bool folio_needs_release(struct folio *folio) +{ + struct address_space *mapping = folio_mapping(folio); + + return folio_has_private(folio) || + (mapping && mapping_release_always(mapping)); +} + extern unsigned long highest_memmap_pfn; /* |