)]}'
{
  "commit": "99fe60d062cfecf382c036065b3278b82b6c5eff",
  "tree": "b4451fc4bb42c0915c4f736cc5fdae9e818b55d4",
  "parents": [
    "938e10109115a71cc69d475122f21cf75e5046cd"
  ],
  "author": {
    "name": "Benny Halevy",
    "email": "bhalevy@panasas.com",
    "time": "Wed Apr 01 09:22:29 2009 -0400"
  },
  "committer": {
    "name": "Benny Halevy",
    "email": "bhalevy@panasas.com",
    "time": "Wed Jun 17 12:23:57 2009 -0700"
  },
  "message": "nfs41: exchange_id operation\n\nImplement the exchange_id operation conforming to\nhttp://tools.ietf.org/html/draft-ietf-nfsv4-minorversion1-26\n\nUnlike NFSv4.0, NFSv4.1 requires machine credentials. RPC_AUTH_GSS machine\ncredentials will be passed into the kernel at mount time to be available for\nthe exchange_id operation.\n\nRPC_AUTH_UNIX root mounts can use the UNIX root credential. Store the root\ncredential in the nfs_client struct.\n\nWithout a credential, NFSv4.1 state renewal fails.\n\n[nfs41: establish clientid via exchange id only if cred !\u003d NULL]\nSigned-off-by: Andy Adamson\u003candros@umich.edu\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfsd41: move nfstime4 from under CONFIG_NFS_V4_1]\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: do not wait a lease time in exchange id]\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: pass *session in seq_args and seq_res]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n[nfs41: Ignoring impid in decode_exchange_id is missing a READ_BUF]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: fix Xcode_exchange_id\u0027s xdr Xcoding pointer type]\n[nfs41: get rid of unused struct nfs41_exchange_id_res members]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "dc0feb5837b16e9e9daf9c2fd0b67df3c879503e",
      "old_mode": 33188,
      "old_path": "fs/nfs/nfs4proc.c",
      "new_id": "6f384e29075371923f30cd59825b8f00064e2c58",
      "new_mode": 33188,
      "new_path": "fs/nfs/nfs4proc.c"
    },
    {
      "type": "modify",
      "old_id": "5b944cd572183cfd3f0d5ca18ca02d5ba1a7dfdb",
      "old_mode": 33188,
      "old_path": "fs/nfs/nfs4xdr.c",
      "new_id": "783c4214dccd888d9fc122db3bccc2ac82a00730",
      "new_mode": 33188,
      "new_path": "fs/nfs/nfs4xdr.c"
    },
    {
      "type": "modify",
      "old_id": "7c36fcf2dfb7a36bc3416807279daf2552a5872b",
      "old_mode": 33188,
      "old_path": "include/linux/nfs4.h",
      "new_id": "ad65709ed8d3806a112b1aa11cc2b080ebd8b0fc",
      "new_mode": 33188,
      "new_path": "include/linux/nfs4.h"
    },
    {
      "type": "modify",
      "old_id": "206485e5082fcbf086c3de6dfb61584670120280",
      "old_mode": 33188,
      "old_path": "include/linux/nfs_fs_sb.h",
      "new_id": "435ed556efb594d5006a586603639b4e3f2c75de",
      "new_mode": 33188,
      "new_path": "include/linux/nfs_fs_sb.h"
    },
    {
      "type": "modify",
      "old_id": "4ac14b40efc9b8e2029b4290dca243e743d368b9",
      "old_mode": 33188,
      "old_path": "include/linux/nfs_xdr.h",
      "new_id": "5d70b924af5e8c07218b7610266a92122557fa7a",
      "new_mode": 33188,
      "new_path": "include/linux/nfs_xdr.h"
    },
    {
      "type": "modify",
      "old_id": "4d61c873feed3d107d5dfcc3a64564fae252706e",
      "old_mode": 33188,
      "old_path": "include/linux/nfsd/state.h",
      "new_id": "7ef4b7ad1214e503a86035cf6073aa632f0315ee",
      "new_mode": 33188,
      "new_path": "include/linux/nfsd/state.h"
    }
  ]
}
