lkml.org 
[lkml]   [2018]   [Jan]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v6 29/99] page cache: Convert filemap_range_has_page to XArray
    Date
    From: Matthew Wilcox <mawilcox@microsoft.com>

    Instead of calling find_get_pages_range() and putting any reference,
    just use xa_find() to look for a page in the right range.

    Signed-off-by: Matthew Wilcox <mawilcox@microsoft.com>
    ---
    mm/filemap.c | 9 +--------
    1 file changed, 1 insertion(+), 8 deletions(-)

    diff --git a/mm/filemap.c b/mm/filemap.c
    index 2536fcacb5bc..cd01f353cf6a 100644
    --- a/mm/filemap.c
    +++ b/mm/filemap.c
    @@ -461,18 +461,11 @@ bool filemap_range_has_page(struct address_space *mapping,
    {
    pgoff_t index = start_byte >> PAGE_SHIFT;
    pgoff_t end = end_byte >> PAGE_SHIFT;
    - struct page *page;

    if (end_byte < start_byte)
    return false;

    - if (mapping->nrpages == 0)
    - return false;
    -
    - if (!find_get_pages_range(mapping, &index, end, 1, &page))
    - return false;
    - put_page(page);
    - return true;
    + return xa_find(&mapping->pages, &index, end, XA_PRESENT);
    }
    EXPORT_SYMBOL(filemap_range_has_page);

    --
    2.15.1
    \
     
     \ /
      Last update: 2018-01-18 00:21    [W:4.095 / U:0.084 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site