From: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>

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 <blaisorblade@yahoo.it>
Cc: Hugh Dickins <hugh@veritas.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
---

 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,
_