diff options
| author | Matthew Wilcox (Oracle) <[email protected]> | 2023-01-11 14:28:54 +0000 |
|---|---|---|
| committer | Andrew Morton <[email protected]> | 2023-02-02 22:32:56 -0800 |
| commit | 4d510f3da4c216d4c2695395f67aec38e2aa6cc7 (patch) | |
| tree | e726b8fb8ac10a96c739baa733f526fd5c083e5b /include/linux | |
| parent | eb01a2ad7e9cba1b9dd131edc5a26ffbda90a5ed (diff) | |
mm: add folio_add_new_anon_rmap()
In contrast to other rmap functions, page_add_new_anon_rmap() is always
called with a freshly allocated page. That means it can't be called with
a tail page. Turn page_add_new_anon_rmap() into folio_add_new_anon_rmap()
and add a page_add_new_anon_rmap() wrapper. Callers can be converted
individually.
[[email protected]: fix NOMMU build. page_add_new_anon_rmap() requires CONFIG_MMU]
[[email protected]: folio-compat.c needs rmap.h]
Link: https://lkml.kernel.org/r/[email protected]
Signed-off-by: Matthew Wilcox (Oracle) <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/rmap.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/include/linux/rmap.h b/include/linux/rmap.h index bd3504d11b15..aa682a2a93ce 100644 --- a/include/linux/rmap.h +++ b/include/linux/rmap.h @@ -194,6 +194,8 @@ void page_add_anon_rmap(struct page *, struct vm_area_struct *, unsigned long address, rmap_t flags); void page_add_new_anon_rmap(struct page *, struct vm_area_struct *, unsigned long address); +void folio_add_new_anon_rmap(struct folio *, struct vm_area_struct *, + unsigned long address); void page_add_file_rmap(struct page *, struct vm_area_struct *, bool compound); void page_remove_rmap(struct page *, struct vm_area_struct *, |