I started a patchset about $TOPIC a while ago, right now i am working on other thing but i hope to have an RFC for $TOPIC before LSF/MM and thus would like a slot during common track to talk about it as it impacts FS, BLOCK and MM (i am assuming their will be common track). Idea is that mapping (struct address_space) is available in virtualy all the places where it is needed and that their should be no reasons to depend only on struct page->mapping field. My patchset basicly add mapping to a bunch of vfs callback (struct address_space_operations) where it is missing, changing call site. Then i do an individual patch per filesystem to leverage the new argument instead on struct page. I am doing this for a generic page write protection mechanism which generalize KSM to file back page. They are couple other aspect like struct page->index, struct page->private which are addressed in similar way. The block layer is mostly affected because on block device error it needs the page->mapping to report I/O error. Maybe we can kill page->mapping altogether as a result of this. However this is not my motivation at this time. Sorry for absence of patchset at this time but i wanted to submit the subject before LSF/MM deadline. Cheers, Jérôme