)]}'
{
  "commit": "4cd3bb10ff0b21b77b5a4cd13b4bd36694e054c4",
  "tree": "e2a76a229b2c030a7d4aec1155e505fd4c087067",
  "parents": [
    "e2244ec2efa4ee1edf391d0001d314933e2b2974"
  ],
  "author": {
    "name": "Hugh Dickins",
    "email": "hugh@veritas.com",
    "time": "Sat Sep 03 15:54:33 2005 -0700"
  },
  "committer": {
    "name": "Linus Torvalds",
    "email": "torvalds@evo.osdl.org",
    "time": "Mon Sep 05 00:05:40 2005 -0700"
  },
  "message": "[PATCH] swap: move destroy_swap_extents calls\n\nsys_swapon\u0027s call to destroy_swap_extents on failure is made after the final\nswap_list_unlock, which is faintly unsafe: another sys_swapon might already be\nsetting up that swap_info_struct.  Calling it earlier, before taking\nswap_list_lock, is safe.  sys_swapoff\u0027s call to destroy_swap_extents was safe,\nbut likewise move it earlier, before taking the locks (once try_to_unuse has\ncompleted, nothing can be needing the swap extents).\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "5ac5333f37a00b4b098460a678fe1d3fc249a40b",
      "old_mode": 33188,
      "old_path": "mm/swapfile.c",
      "new_id": "4b39e9501d44a97e2c7bae6ba2c01bc86f591760",
      "new_mode": 33188,
      "new_path": "mm/swapfile.c"
    }
  ]
}
