LWN.net Logo

add page->mapping handling interface [0/35] intro

From:  KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
To:  LKML <linux-kernel@vger.kernel.org>
Subject:  [PATCH] add page->mapping handling interface [0/35] intro
Date:  Mon, 10 Sep 2007 18:40:48 +0900
Message-ID:  <20070910184048.286dfc6e.kamezawa.hiroyu@jp.fujitsu.com>
Cc:  Andrew Morton <akpm@linux-foundation.org>, "nickpiggin@yahoo.com.au" <nickpiggin@yahoo.com.au>, "linux-mm@kvack.org" <linux-mm@kvack.org>, "kamezawa.hiroyu@jp.fujitsu.com" <kamezawa.hiroyu@jp.fujitsu.com>
Archive-link:  Article, Thread

Hi, this patch set adds following functions

 - page_inode(page) ... returns inode from page, (page->mapping->host)
 - page_mapping_cache(page) ... returns addrees_space from page
 - page_mapping_anon(page) ... return anon_vma from page
 - page_is_pagecache(page) ... returns 1 if the page is page cache
 - pagecache_consistent(page, mapping) ... returns if page_mapping_cache(page)
   equals to mapping.

By adding aboves, this patch set removes all *direct* references to
page->mapping in usual codes. (compile tested with all mod config.)

I think this can improve VM/FS dependency and make things robust.
In addition,  page->mapping is not a just address_space, now.
(And we can hide page->mapping details from moduled FSs.)

patch set is structured as
[1] ... new interface definition
[2] ... changes in /mm
[3] ... changes in /kernel and /fs
[4...] ... changes in each FSs. (most of patches are very small.)

Any comments are welcome.

Thanks,
-Kame


Copyright © 2007, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds