From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Chinner Subject: Re: [patch 05/19] Use page_cache_xxx in mm/rmap.c Date: Thu, 29 Nov 2007 14:19:21 +1100 Message-ID: <20071129031921.GS119954183@sgi.com> References: <20071129011052.866354847@sgi.com> <20071129011145.414062339@sgi.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: akpm@linux-foundation.org, linux-fsdevel@vger.kernel.org, linux-mm@kvack.org, Christoph Hellwig , Mel Gorman , William Lee Irwin III , David Chinner , Jens Axboe , Badari Pulavarty , Maxim Levitsky , Fengguang Wu , swin wang , totty.lu@gmail.com, hugh@veritas.com, joern@lazybastard.org To: Christoph Lameter Return-path: Received: from netops-testserver-3-out.sgi.com ([192.48.171.28]:41241 "EHLO relay.sgi.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1755601AbXK2DTv (ORCPT ); Wed, 28 Nov 2007 22:19:51 -0500 Content-Disposition: inline In-Reply-To: <20071129011145.414062339@sgi.com> Sender: linux-fsdevel-owner@vger.kernel.org List-Id: linux-fsdevel.vger.kernel.org On Wed, Nov 28, 2007 at 05:10:57PM -0800, Christoph Lameter wrote: > Use page_cache_xxx in mm/rmap.c > > Signed-off-by: Christoph Lameter > --- > mm/rmap.c | 13 +++++++++---- > 1 file changed, 9 insertions(+), 4 deletions(-) > > Index: mm/mm/rmap.c > =================================================================== > --- mm.orig/mm/rmap.c 2007-11-28 12:27:32.312059099 -0800 > +++ mm/mm/rmap.c 2007-11-28 14:10:42.758227810 -0800 > @@ -190,9 +190,14 @@ static void page_unlock_anon_vma(struct > 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 @vma mapping range */ > @@ -345,7 +350,7 @@ static int page_referenced_file(struct p > { > 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); Based on the first hunk, shouldn't this be: pgoff_t pgoff = page->index << mapping_order(mapping); Cheers, Dave. -- Dave Chinner Principal Engineer SGI Australian Software Group