|
@@ -517,11 +517,7 @@ void page_unlock_anon_vma_read(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);
|
|
|
-
|
|
|
- if (unlikely(is_vm_hugetlb_page(vma)))
|
|
|
- pgoff = page->index << huge_page_order(page_hstate(page));
|
|
|
-
|
|
|
+ pgoff_t pgoff = page_to_pgoff(page);
|
|
|
return vma->vm_start + ((pgoff - vma->vm_pgoff) << PAGE_SHIFT);
|
|
|
}
|
|
|
|
|
@@ -1639,7 +1635,7 @@ static struct anon_vma *rmap_walk_anon_lock(struct page *page,
|
|
|
static int rmap_walk_anon(struct page *page, struct rmap_walk_control *rwc)
|
|
|
{
|
|
|
struct anon_vma *anon_vma;
|
|
|
- pgoff_t pgoff = page->index << (PAGE_CACHE_SHIFT - PAGE_SHIFT);
|
|
|
+ pgoff_t pgoff = page_to_pgoff(page);
|
|
|
struct anon_vma_chain *avc;
|
|
|
int ret = SWAP_AGAIN;
|
|
|
|
|
@@ -1680,7 +1676,7 @@ static int rmap_walk_anon(struct page *page, struct rmap_walk_control *rwc)
|
|
|
static int rmap_walk_file(struct page *page, struct rmap_walk_control *rwc)
|
|
|
{
|
|
|
struct address_space *mapping = page->mapping;
|
|
|
- pgoff_t pgoff = page->index << compound_order(page);
|
|
|
+ pgoff_t pgoff = page_to_pgoff(page);
|
|
|
struct vm_area_struct *vma;
|
|
|
int ret = SWAP_AGAIN;
|
|
|
|