)]}'
{
  "commit": "565277f63c616e11c37309a1e98c052d18ebbb55",
  "tree": "60fdddc5a1c97df696392e47ead71d33d39e487f",
  "parents": [
    "61e930a904966cc37e0a3404276f0b73037e57ca"
  ],
  "author": {
    "name": "Trond Myklebust",
    "email": "Trond.Myklebust@netapp.com",
    "time": "Mon Oct 15 18:17:53 2007 -0400"
  },
  "committer": {
    "name": "Trond Myklebust",
    "email": "Trond.Myklebust@netapp.com",
    "time": "Fri Oct 19 17:19:16 2007 -0400"
  },
  "message": "NFS: Fix a race in sillyrename\n\nlookup() and sillyrename() can race one another because the sillyrename()\ncompletion cannot take the parent directory\u0027s inode-\u003ei_mutex since the\nlatter may be held by whoever is calling dput().\n\nWe therefore have little option but to add extra locking to ensure that\nnfs_lookup() and nfs_atomic_open() do not race with the sillyrename\ncompletion.\nIf somebody has looked up the sillyrenamed file in the meantime, we just\ntransfer the sillydelete information to the new dentry.\n\nPlease refer to the bug-report at\n\thttp://bugzilla.linux-nfs.org/show_bug.cgi?id\u003d150\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "8ec7fbd8240c2ed37c24e0f342b72c90a1a3a212",
      "old_mode": 33188,
      "old_path": "fs/nfs/dir.c",
      "new_id": "35334539d9475dc0188bdb80f4a1d15ef70b56a9",
      "new_mode": 33188,
      "new_path": "fs/nfs/dir.c"
    },
    {
      "type": "modify",
      "old_id": "6d2f2a3eccf878d5cdd1e45fcbc794c7e63e9af3",
      "old_mode": 33188,
      "old_path": "fs/nfs/inode.c",
      "new_id": "173e294dffc582955ece54a2f5bab0ada992dacb",
      "new_mode": 33188,
      "new_path": "fs/nfs/inode.c"
    },
    {
      "type": "modify",
      "old_id": "cb99fd90a9acc5147135bb70846517ad8e79165e",
      "old_mode": 33188,
      "old_path": "fs/nfs/nfs4proc.c",
      "new_id": "2cb3b8b71ee7aa141aafb169ff01f47366df3281",
      "new_mode": 33188,
      "new_path": "fs/nfs/nfs4proc.c"
    },
    {
      "type": "modify",
      "old_id": "1aed850d18f2ebab29f2b6b7077f4effb85413ff",
      "old_mode": 33188,
      "old_path": "fs/nfs/unlink.c",
      "new_id": "6ecd46c967c8bc3073cc3389ec65d32524d23e9d",
      "new_mode": 33188,
      "new_path": "fs/nfs/unlink.c"
    },
    {
      "type": "modify",
      "old_id": "c5164c257f71aa17ec51dda414a1921053d8ac5d",
      "old_mode": 33188,
      "old_path": "include/linux/nfs_fs.h",
      "new_id": "e82a6ebc725d7b18a76fdccc9d58853b42a8bdba",
      "new_mode": 33188,
      "new_path": "include/linux/nfs_fs.h"
    }
  ]
}
