)]}'
{
  "commit": "ee2fd967fb23c5eecabc8a660ec66fcd79acbd47",
  "tree": "8a1922499e0775d4849d6ed8d4e3027800d7242d",
  "parents": [
    "6d22f09896c0d62c003ffa25fff25323e3ed608b"
  ],
  "author": {
    "name": "Steve French",
    "email": "sfrench@us.ibm.com",
    "time": "Tue Sep 23 18:23:33 2008 +0000"
  },
  "committer": {
    "name": "Steve French",
    "email": "sfrench@us.ibm.com",
    "time": "Tue Sep 23 18:23:33 2008 +0000"
  },
  "message": "[CIFS]  fix busy-file renames and refactor cifs_rename logic\n\nBreak out the code that does the actual renaming into a separate\nfunction and have cifs_rename call that. That function will attempt a\npath based rename first and then do a filehandle based one if it looks\nlike the source is busy.\n\nThe existing logic tried a path based rename first, but if we needed to\nremove the destination then it only attempted a filehandle based rename\nafterward. Not all servers support renaming by filehandle, so we need to\nalways attempt path rename first and fall back to filehandle rename if\nit doesn\u0027t work.\n\nThis also fixes renames of open files on windows servers (at least when\nthe source and destination directories are the same).\n\nCC: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "954b670f1687b2245d5080571edc6ee846871f62",
      "old_mode": 33188,
      "old_path": "fs/cifs/inode.c",
      "new_id": "82612be9477b7ab69b2f5159b1a501f4bb62e0a9",
      "new_mode": 33188,
      "new_path": "fs/cifs/inode.c"
    }
  ]
}
