)]}'
{
  "commit": "d9fe526a83b84edc9c5ff217a00c896bfc20b2ce",
  "tree": "aecb9dbd92108915ba255df8f04d106c2099bf48",
  "parents": [
    "73b1262fa43a778b1e154deea632cdef5009d6a1"
  ],
  "author": {
    "name": "Hugh Dickins",
    "email": "hugh@veritas.com",
    "time": "Mon Feb 04 22:28:51 2008 -0800"
  },
  "committer": {
    "name": "Linus Torvalds",
    "email": "torvalds@woody.linux-foundation.org",
    "time": "Tue Feb 05 09:44:15 2008 -0800"
  },
  "message": "tmpfs: allow filepage alongside swappage\n\ntmpfs has long allowed for a fresh filepage to be created in pagecache, just\nbefore shmem_getpage gets the chance to match it up with the swappage which\nalready belongs to that offset.  But unionfs_writepage now does a\nfind_or_create_page, divorced from shmem_getpage, which leaves conflicting\nfilepage and swappage outstanding indefinitely, when unionfs is over tmpfs.\n\nTherefore shmem_writepage (where a page is swizzled from file to swap) must\nnow be on the lookout for existing swap, ready to free it in favour of the\nmore uptodate filepage, instead of BUGging on that clash.  And when the\nadd_to_page_cache fails in shmem_unuse_inode, it must defer to an uptodate\nfilepage, otherwise swapoff would hang.  Whereas when add_to_page_cache fails\nin shmem_getpage, it should retry in the same way it already does.\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "e577adf4ae85530a39175cdba516ef8dadcf7327",
      "old_mode": 33188,
      "old_path": "mm/shmem.c",
      "new_id": "4ae47f54c82247bbcc3bfc9419ec0a1f79474512",
      "new_mode": 33188,
      "new_path": "mm/shmem.c"
    }
  ]
}
