Provided by: linux-doc-2.6.15_2.6.15-23.39_all bug

NAME

       find_or_create_page - locate or add a pagecache page

SYNOPSIS

       struct page * find_or_create_page  (struct address_space * mapping,
                                              unsigned long index,
                                              gfp_t gfp_mask);

ARGUMENTS

       mapping
              the page’s address_space

       index  the page’s index into the mapping

       gfp_mask
              page allocation mode

DESCRIPTION

       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.

DESCRIPTION

       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.