)]}'
{
  "commit": "4d65c520fb4abed970069d18c119cfe85624f46d",
  "tree": "74671eb263380317f1e4a958a6a7f73749e98eec",
  "parents": [
    "16c29dafcc86024048f1dbb8349d31cb22c7c55a"
  ],
  "author": {
    "name": "Trond Myklebust",
    "email": "Trond.Myklebust@netapp.com",
    "time": "Fri Mar 25 14:15:11 2011 -0400"
  },
  "committer": {
    "name": "Trond Myklebust",
    "email": "Trond.Myklebust@netapp.com",
    "time": "Sun Mar 27 17:48:07 2011 +0200"
  },
  "message": "NFS: Fix a hang in the writeback path\n\nNow that the inode scalability patches have been merged, it is no longer\nsafe to call igrab() under the inode-\u003ei_lock.\nNow that we no longer call nfs_clear_request() until the nfs_page is\nbeing freed, we know that we are always holding a reference to the\nnfs_open_context, which again holds a reference to the path, and so\nthe inode cannot be freed until the last nfs_page has been removed\nfrom the radix tree and freed.\n\nWe can therefore skip the igrab()/iput() altogether.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "87a593c2b055503e727c2cda93a396ecb2681fb5",
      "old_mode": 33188,
      "old_path": "fs/nfs/pagelist.c",
      "new_id": "c80add6e2213ab6d4f301a2ca06134b4a4f5581c",
      "new_mode": 33188,
      "new_path": "fs/nfs/pagelist.c"
    },
    {
      "type": "modify",
      "old_id": "85d75254328ebd1c822187e51a3f5b5e9fc320b7",
      "old_mode": 33188,
      "old_path": "fs/nfs/write.c",
      "new_id": "af0c6279a4a7c131cd9c2a80e0764ba8ea50a6c9",
      "new_mode": 33188,
      "new_path": "fs/nfs/write.c"
    },
    {
      "type": "modify",
      "old_id": "8023e4e25133cbcebbbd97b85c33df1943d34e13",
      "old_mode": 33188,
      "old_path": "include/linux/nfs_page.h",
      "new_id": "91af2e49fa3ab1a532bdc22143da19021f0248da",
      "new_mode": 33188,
      "new_path": "include/linux/nfs_page.h"
    }
  ]
}
