find_or_create_page — locate or add a pagecache page
struct page * find_or_create_page ( | struct address_space * mapping, |
pgoff_t index, | |
gfp_t gfp_mask) ; |
mapping
the page's address_space
index
the page's index into the mapping
gfp_mask
page allocation mode
Locates a page in the pagecache. If the page is not present, a new page
is allocated using gfp_mask
and is added to the pagecache and to the VM's
LRU list. The returned page is locked and has its reference count
incremented.
find_or_create_page
may sleep, even if gfp_flags
specifies an atomic
allocation!
find_or_create_page
returns the desired page's address, or zero on
memory exhaustion.