)]}'
{
  "commit": "58fb12e6a42f30adf209f8f41385a3bbb2c82420",
  "tree": "5ca75f92bd5aa9629f30c21d6e0e8df8f0984235",
  "parents": [
    "6b180f0b57af0295e8dc2602a7a4781241766340"
  ],
  "author": {
    "name": "Jeff Layton",
    "email": "jlayton@primarydata.com",
    "time": "Tue Jul 29 21:34:27 2014 -0400"
  },
  "committer": {
    "name": "J. Bruce Fields",
    "email": "bfields@redhat.com",
    "time": "Thu Jul 31 14:20:19 2014 -0400"
  },
  "message": "nfsd: Add a mutex to protect the NFSv4.0 open owner replay cache\n\nWe don\u0027t want to rely on the client_mutex for protection in the case of\nNFSv4 open owners. Instead, we add a mutex that will only be taken for\nNFSv4.0 state mutating operations, and that will be released once the\nentire compound is done.\n\nAlso, ensure that nfsd4_cstate_assign_replay/nfsd4_cstate_clear_replay\ntake a reference to the stateowner when they are using it for NFSv4.0\nopen and lock replay caching.\n\nSigned-off-by: Trond Myklebust \u003ctrond.myklebust@primarydata.com\u003e\nSigned-off-by: Jeff Layton \u003cjlayton@primarydata.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "8611585f739d0bfd0b2771adfcb41ae73f1b2daf",
      "old_mode": 33188,
      "old_path": "fs/nfsd/nfs4proc.c",
      "new_id": "29cf395b694e4298ab48793b4c5ad8c26acf92a2",
      "new_mode": 33188,
      "new_path": "fs/nfsd/nfs4proc.c"
    },
    {
      "type": "modify",
      "old_id": "5a93e5fafd4a30fae087b4cd58c3d45a442a6132",
      "old_mode": 33188,
      "old_path": "fs/nfsd/nfs4state.c",
      "new_id": "749608b914b4936b4d1e8e5a7fb27b3aa23e5dd7",
      "new_mode": 33188,
      "new_path": "fs/nfsd/nfs4state.c"
    },
    {
      "type": "modify",
      "old_id": "628b430e743e470ae772f09af7b33574ba0471b2",
      "old_mode": 33188,
      "old_path": "fs/nfsd/nfs4xdr.c",
      "new_id": "72a2a82e11a467263bc543e5ea3be1786f1d398e",
      "new_mode": 33188,
      "new_path": "fs/nfsd/nfs4xdr.c"
    },
    {
      "type": "modify",
      "old_id": "dc725deb4aa8a538dae9a1f4e42cfdeaf768360c",
      "old_mode": 33188,
      "old_path": "fs/nfsd/state.h",
      "new_id": "9cba295812f6da855a13ec3e190423db6206eda8",
      "new_mode": 33188,
      "new_path": "fs/nfsd/state.h"
    },
    {
      "type": "modify",
      "old_id": "5abf6c942ddf9370b5827f8064676de5ae4d1409",
      "old_mode": 33188,
      "old_path": "fs/nfsd/xdr4.h",
      "new_id": "465e7799742a399fe07878af06db0b3f35bc35df",
      "new_mode": 33188,
      "new_path": "fs/nfsd/xdr4.h"
    }
  ]
}
