)]}'
{
  "commit": "2e54eb96e2c801f33d95b5dade15212ac4d6c4a5",
  "tree": "c2996f29aa49881e93c7a37fad41e4961f6b8578",
  "parents": [
    "60056794127a25d641465b706e8828186f7a2e1f"
  ],
  "author": {
    "name": "Petr Vandrovec",
    "email": "petr@vandrovec.name",
    "time": "Mon Sep 27 01:47:33 2010 +0200"
  },
  "committer": {
    "name": "Arnd Bergmann",
    "email": "arnd@arndb.de",
    "time": "Mon Oct 04 21:10:52 2010 +0200"
  },
  "message": "BKL: Remove BKL from ncpfs\n\nDozen of changes in ncpfs to provide some locking other than BKL.\n\nIn readdir cache unlock and mark complete first page as last operation,\nso it can be used for synchronization, as code intended.\n\nWhen updating dentry name on case insensitive filesystems do at least\nsome basic locking...\n\nHold i_mutex when updating inode fields.\n\nPush some ncp_conn_is_valid down to ncp_request.  Connection can become\ninvalid at any moment, and fewer error code paths to test the better.\n\nUse i_size_{read,write} to modify file size.\n\nSet inode\u0027s backing_dev_info as ncpfs has its own special bdi.\n\nIn ioctl unbreak ioctls invoked on filesystem mounted \u0027ro\u0027 - tests are\nfor inode writeable or owner match, but were turned to filesystem\nwriteable and inode writeable or owner match.  Also collect all permission\nchecks in single place.\n\nAdd some locking, and remove comments saying that it would be cool to\nadd some locks to the code.\n\nConstify some pointers.\n\nSigned-off-by: Petr Vandrovec \u003cpetr@vandrovec.name\u003e\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "9578cbe0cd589ad00ce590d60172c2433d16688e",
      "old_mode": 33188,
      "old_path": "fs/ncpfs/dir.c",
      "new_id": "aac8832e919e9a56cb95af787af658fb03d8d0d1",
      "new_mode": 33188,
      "new_path": "fs/ncpfs/dir.c"
    },
    {
      "type": "modify",
      "old_id": "3639cc5cbdae58d8961308c77caf70f2535db579",
      "old_mode": 33188,
      "old_path": "fs/ncpfs/file.c",
      "new_id": "6c754f70c5296be3fbe5c323bbb985d7ee326512",
      "new_mode": 33188,
      "new_path": "fs/ncpfs/file.c"
    },
    {
      "type": "modify",
      "old_id": "b4de38cf49f5f3a802a112cbd99226e12d49cf38",
      "old_mode": 33188,
      "old_path": "fs/ncpfs/inode.c",
      "new_id": "5f4e58d93fdd908f3ffe4a95e71966e1ddad2a1e",
      "new_mode": 33188,
      "new_path": "fs/ncpfs/inode.c"
    },
    {
      "type": "modify",
      "old_id": "84a8cfc4e38ec533ecaf7b7ad2812fc306a18c3a",
      "old_mode": 33188,
      "old_path": "fs/ncpfs/ioctl.c",
      "new_id": "c2a1f9a155c3a6e8f82800334337b1b1b0aaa65a",
      "new_mode": 33188,
      "new_path": "fs/ncpfs/ioctl.c"
    },
    {
      "type": "modify",
      "old_id": "0ec6237a5970f162e0ed0d72b33fa9f1e15a7b86",
      "old_mode": 33188,
      "old_path": "fs/ncpfs/ncplib_kernel.c",
      "new_id": "a95615a0b6ac420fcfedbc8e6460173ddb3b3f97",
      "new_mode": 33188,
      "new_path": "fs/ncpfs/ncplib_kernel.c"
    },
    {
      "type": "modify",
      "old_id": "2441d1ab57dc57abe66ba24126b3b9221b1692bc",
      "old_mode": 33188,
      "old_path": "fs/ncpfs/ncplib_kernel.h",
      "new_id": "3c57eca634ce12f5d76b77959a3422677c9c3c53",
      "new_mode": 33188,
      "new_path": "fs/ncpfs/ncplib_kernel.h"
    },
    {
      "type": "modify",
      "old_id": "7c0b5c21e6cf668dc791212327ebe46b8a3007bf",
      "old_mode": 33188,
      "old_path": "fs/ncpfs/ncpsign_kernel.c",
      "new_id": "d8b2d7e6910b1a843a425b7a84164b2b061e99b6",
      "new_mode": 33188,
      "new_path": "fs/ncpfs/ncpsign_kernel.c"
    },
    {
      "type": "modify",
      "old_id": "c7ff6c700a6efdca195b43a18414e221ecafc824",
      "old_mode": 33188,
      "old_path": "fs/ncpfs/sock.c",
      "new_id": "668bd267346e57ed80700e4b8af541ad9dd5f476",
      "new_mode": 33188,
      "new_path": "fs/ncpfs/sock.c"
    },
    {
      "type": "modify",
      "old_id": "4522aed00906c81f885eae6ed5c0ecd9f399bde8",
      "old_mode": 33188,
      "old_path": "include/linux/ncp_fs.h",
      "new_id": "ef663061d5ac5e3725b87ff11cc9bd3309a4db8c",
      "new_mode": 33188,
      "new_path": "include/linux/ncp_fs.h"
    },
    {
      "type": "modify",
      "old_id": "8da05bc098ca86b2ba5758af8b0b7885c7894dd3",
      "old_mode": 33188,
      "old_path": "include/linux/ncp_fs_sb.h",
      "new_id": "d64b0e89433691bf532577a4b193781c4e0516b6",
      "new_mode": 33188,
      "new_path": "include/linux/ncp_fs_sb.h"
    }
  ]
}
