)]}'
{
  "commit": "44c288732fdbd7e38460d156a40d29590bf93bce",
  "tree": "d4239fe37529b4799e85443f803db754ef66f874",
  "parents": [
    "4ce70ada1ff1d0b80916ec9ec5764ce44a50a54f"
  ],
  "author": {
    "name": "Trond Myklebust",
    "email": "Trond.Myklebust@netapp.com",
    "time": "Tue Jan 03 09:55:06 2006 +0100"
  },
  "committer": {
    "name": "Trond Myklebust",
    "email": "Trond.Myklebust@netapp.com",
    "time": "Fri Jan 06 14:58:40 2006 -0500"
  },
  "message": "NFSv4: stateful NFSv4 RPC call interface\n\n The NFSv4 model requires us to complete all RPC calls that might\n establish state on the server whether or not the user wants to\n interrupt it. We may also need to schedule new work (including\n new RPC calls) in order to cancel the new state.\n\n The asynchronous RPC model will allow us to ensure that RPC calls\n always complete, but in order to allow for \"synchronous\" RPC, we\n want to add the ability to wait for completion.\n The waits are, of course, interruptible.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "a834423942c7dabd9a7ba49f9f072cb8fe371a86",
      "old_mode": 33188,
      "old_path": "fs/nfs/direct.c",
      "new_id": "ae2be0744191089984d26a206193bea4917a7ae8",
      "new_mode": 33188,
      "new_path": "fs/nfs/direct.c"
    },
    {
      "type": "modify",
      "old_id": "ac1326fc3e1aab631c4a2c8b4d984326097c2ef0",
      "old_mode": 33188,
      "old_path": "include/linux/sunrpc/sched.h",
      "new_id": "94b0afa4ab05c2a38f1d2c30e932deb1cfa2d3af",
      "new_mode": 33188,
      "new_path": "include/linux/sunrpc/sched.h"
    },
    {
      "type": "modify",
      "old_id": "2d74a167202845c1435c300e648e60c0d25acae8",
      "old_mode": 33188,
      "old_path": "net/sunrpc/sched.c",
      "new_id": "82d158dad16de78201596c3b3d81fe5fca0dfaf5",
      "new_mode": 33188,
      "new_path": "net/sunrpc/sched.c"
    }
  ]
}
