From: Paolo 'Blaisorblade' Giarrusso Add some more comments about page->mapping and swapper_space, explaining their (historical and current) relationship. Such material can be extracted from the old GIT history (which I used for reference), but having it in the source is more useful. Signed-off-by: Paolo 'Blaisorblade' Giarrusso Cc: Hugh Dickins Signed-off-by: Andrew Morton --- mm/swap_state.c | 5 +++++ 1 files changed, 5 insertions(+) diff -puN mm/swap_state.c~add-swap-cache-mapping-comment mm/swap_state.c --- 25/mm/swap_state.c~add-swap-cache-mapping-comment Wed Aug 17 14:48:47 2005 +++ 25-akpm/mm/swap_state.c Wed Aug 17 14:48:47 2005 @@ -21,6 +21,11 @@ * swapper_space is a fiction, retained to simplify the path through * vmscan's shrink_list, to make sync_page look nicer, and to allow * future use of radix_tree tags in the swap cache. + * + * In 2.4 and until 2.6.6 pages in the swap cache also had page->mapping == + * &swapper_space (this was the definition of PageSwapCache), but this is no + * more true. Instead, we use page->flags for that, and page->mapping is + * *ignored* here. However, also take a look at page_mapping(). */ static struct address_space_operations swap_aops = { .writepage = swap_writepage, _