lkml.org 
[lkml]   [2007]   [Sep]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[06/41] Use page_cache_xxx in mm/rmap.c
    Use page_cache_xxx in mm/rmap.c

    Signed-off-by: Christoph Lameter <clameter@sgi.com>
    ---
    mm/rmap.c | 13 +++++++++----
    1 files changed, 9 insertions(+), 4 deletions(-)

    diff --git a/mm/rmap.c b/mm/rmap.c
    index 41ac397..d6a1771 100644
    --- a/mm/rmap.c
    +++ b/mm/rmap.c
    @@ -188,9 +188,14 @@ static void page_unlock_anon_vma(struct anon_vma *anon_vma)
    static inline unsigned long
    vma_address(struct page *page, struct vm_area_struct *vma)
    {
    - pgoff_t pgoff = page->index << (PAGE_CACHE_SHIFT - PAGE_SHIFT);
    + pgoff_t pgoff;
    unsigned long address;

    + if (PageAnon(page))
    + pgoff = page->index;
    + else
    + pgoff = page->index << mapping_order(page->mapping);
    +
    address = vma->vm_start + ((pgoff - vma->vm_pgoff) << PAGE_SHIFT);
    if (unlikely(address < vma->vm_start || address >= vma->vm_end)) {
    /* page should be within any vma from prio_tree_next */
    @@ -335,7 +340,7 @@ static int page_referenced_file(struct page *page)
    {
    unsigned int mapcount;
    struct address_space *mapping = page->mapping;
    - pgoff_t pgoff = page->index << (PAGE_CACHE_SHIFT - PAGE_SHIFT);
    + pgoff_t pgoff = page->index << (page_cache_shift(mapping) - PAGE_SHIFT);
    struct vm_area_struct *vma;
    struct prio_tree_iter iter;
    int referenced = 0;
    @@ -447,7 +452,7 @@ out:

    static int page_mkclean_file(struct address_space *mapping, struct page *page)
    {
    - pgoff_t pgoff = page->index << (PAGE_CACHE_SHIFT - PAGE_SHIFT);
    + pgoff_t pgoff = page->index << (page_cache_shift(mapping) - PAGE_SHIFT);
    struct vm_area_struct *vma;
    struct prio_tree_iter iter;
    int ret = 0;
    @@ -863,7 +868,7 @@ static int try_to_unmap_anon(struct page *page, int migration)
    static int try_to_unmap_file(struct page *page, int migration)
    {
    struct address_space *mapping = page->mapping;
    - pgoff_t pgoff = page->index << (PAGE_CACHE_SHIFT - PAGE_SHIFT);
    + pgoff_t pgoff = page->index << (page_cache_shift(mapping) - PAGE_SHIFT);
    struct vm_area_struct *vma;
    struct prio_tree_iter iter;
    int ret = SWAP_AGAIN;
    --
    1.5.2.5
    --
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2007-09-11 08:13    [W:0.027 / U:0.296 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site