)]}'
{
  "commit": "788e7a89a03e364855583c0ab4649b94925efbb9",
  "tree": "4434c93af133a92f550ba0ecc8d3254cb222e72d",
  "parents": [
    "7117bf3dfb10b534a017260d9fc643bc1d0afd2a"
  ],
  "author": {
    "name": "Trond Myklebust",
    "email": "Trond.Myklebust@netapp.com",
    "time": "Mon Mar 20 13:44:27 2006 -0500"
  },
  "committer": {
    "name": "Trond Myklebust",
    "email": "Trond.Myklebust@netapp.com",
    "time": "Mon Mar 20 13:44:27 2006 -0500"
  },
  "message": "NFS: Cleanup of NFS write code in preparation for asynchronous o_direct\n\nThis patch inverts the callback hierarchy for NFS write calls.\n\nInstead of having the NFSv2/v3/v4-specific code set up the RPC callback\nops, we allow the original caller to do so. This allows for more\nflexibility w.r.t. how to set up and tear down the nfs_write_data\nstructure while still allowing the NFSv3/v4 code to perform error\nhandling.\n\nThe greater flexibility is needed by the asynchronous O_DIRECT code, which\nwants to be able to hold on to the original nfs_write_data structures after\nthe WRITE RPC call has completed in order to be able to replay them if the\nCOMMIT call determines that the server has rebooted.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "740f8b1ab04d8ca1d372d5ac5d6e684d2aeafa16",
      "old_mode": 33188,
      "old_path": "fs/nfs/nfs3proc.c",
      "new_id": "c4f7de8830e975a926dd47315d8a1d8f1888e473",
      "new_mode": 33188,
      "new_path": "fs/nfs/nfs3proc.c"
    },
    {
      "type": "modify",
      "old_id": "f1ff4fa6cce59f3dd28b64c7bf4a5b1a93b61be6",
      "old_mode": 33188,
      "old_path": "fs/nfs/nfs4proc.c",
      "new_id": "ef4dc315ecc20759af3a47058272e4e78031b09e",
      "new_mode": 33188,
      "new_path": "fs/nfs/nfs4proc.c"
    },
    {
      "type": "modify",
      "old_id": "2b051ab8bea8f9dc448bdeb5e854f1449779a712",
      "old_mode": 33188,
      "old_path": "fs/nfs/proc.c",
      "new_id": "608aa5932a1da09d022a0faff4b0965c467aa55e",
      "new_mode": 33188,
      "new_path": "fs/nfs/proc.c"
    },
    {
      "type": "modify",
      "old_id": "e7c8361cf201b1277d465b76fd76d22450a96dda",
      "old_mode": 33188,
      "old_path": "fs/nfs/write.c",
      "new_id": "5912274ff1a123ad1f96720ea668e3bde4e32840",
      "new_mode": 33188,
      "new_path": "fs/nfs/write.c"
    },
    {
      "type": "modify",
      "old_id": "b71da4d4b137b89d105b705f99beb3b13469e754",
      "old_mode": 33188,
      "old_path": "include/linux/nfs_fs.h",
      "new_id": "782e59765696f2333927cb95a52dc5ec2b943d00",
      "new_mode": 33188,
      "new_path": "include/linux/nfs_fs.h"
    },
    {
      "type": "modify",
      "old_id": "6d6f69ec5675bf1992dc8a6f532164fb8438fbc6",
      "old_mode": 33188,
      "old_path": "include/linux/nfs_xdr.h",
      "new_id": "277750cc70c08593b8b53c28155b9eb3a9c81ecc",
      "new_mode": 33188,
      "new_path": "include/linux/nfs_xdr.h"
    }
  ]
}
