)]}'
{
  "commit": "0733d21338747483985a5964e852af160d88e429",
  "tree": "fb8014cc66d3bfc33e1b7cc6a0da369bccc34cd3",
  "parents": [
    "069b6ad4bb20abf175ea7875e82e8002154773af"
  ],
  "author": {
    "name": "Andy Adamson",
    "email": "andros@netapp.com",
    "time": "Fri Apr 03 08:28:01 2009 +0300"
  },
  "committer": {
    "name": "J. Bruce Fields",
    "email": "bfields@citi.umich.edu",
    "time": "Fri Apr 03 17:41:15 2009 -0700"
  },
  "message": "nfsd41: exchange_id operation\n\nImplement the exchange_id operation confoming to\nhttp://tools.ietf.org/html/draft-ietf-nfsv4-minorversion1-28\n\nBased on the client provided name, hash a client id.\nIf a confirmed one is found, compare the op\u0027s creds and\nverifier.  If the creds match and the verifier is different\nthen expire the old client (client re-incarnated), otherwise,\nif both match, assume it\u0027s a replay and ignore it.\n\nIf an unconfirmed client is found, then copy the new creds\nand verifer if need update, otherwise assume replay.\n\nThe client is moved to a confirmed state on create_session.\n\nIn the nfs41 branch set the exchange_id flags to\nEXCHGID4_FLAG_USE_NON_PNFS | EXCHGID4_FLAG_SUPP_MOVED_REFER\n(pNFS is not supported, Referrals are supported,\nMigration is not.).\n\nAddress various scenarios from section 18.35 of the spec:\n\n1. Check for EXCHGID4_FLAG_UPD_CONFIRMED_REC_A and set\n   EXCHGID4_FLAG_CONFIRMED_R as appropriate.\n\n2. Return error codes per 18.35.4 scenarios.\n\n3. Update client records or generate new client ids depending on\n   scenario.\n\nNote: 18.35.4 case 3 probably still needs revisiting.  The handling\nseems not quite right.\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Andy Adamosn \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfsd41: use utsname for major_id (and copy to server_scope)]\n[nfsd41: fix handling of various exchange id scenarios]\nSigned-off-by: Mike Sager \u003csager@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfsd41: reverse use of EXCHGID4_INVAL_FLAG_MASK_A]\n[simplify nfsd4_encode_exchange_id error handling]\n[nfsd41: embed an xdr_netobj in nfsd4_exchange_id]\n[nfsd41: return nfserr_serverfault for spa_how \u003d\u003d SP4_MACH_CRED]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "cfc01f415d15a7a682a0895865a6b903cd844efe",
      "old_mode": 33188,
      "old_path": "fs/nfsd/nfs4state.c",
      "new_id": "4f963e902972bbd92c18b12eaa49424f606a58af",
      "new_mode": 33188,
      "new_path": "fs/nfsd/nfs4state.c"
    },
    {
      "type": "modify",
      "old_id": "6973d61bedeaa7ef5e9e3b0519dc51e9b20e1c0b",
      "old_mode": 33188,
      "old_path": "fs/nfsd/nfs4xdr.c",
      "new_id": "bebf6d249069f54f309bd4b3a3dabbf2d59986bf",
      "new_mode": 33188,
      "new_path": "fs/nfsd/nfs4xdr.c"
    },
    {
      "type": "modify",
      "old_id": "5b3a6660f3af3d88ad42087a464862018af24a87",
      "old_mode": 33188,
      "old_path": "include/linux/nfsd/state.h",
      "new_id": "8d0b10167937dd25255cc78867a6539565c0c66e",
      "new_mode": 33188,
      "new_path": "include/linux/nfsd/state.h"
    },
    {
      "type": "modify",
      "old_id": "294940c58094856849adcc0cbfd3e6f4b34fe03b",
      "old_mode": 33188,
      "old_path": "include/linux/nfsd/xdr4.h",
      "new_id": "33ee71e988b44a91e0d049ee1f91bd726fae5f22",
      "new_mode": 33188,
      "new_path": "include/linux/nfsd/xdr4.h"
    }
  ]
}
