)]}'
{
  "commit": "4f819a7899b06afcd7623ab9d00fd81503ad3e24",
  "tree": "4506a992e9207f6374803e89d9a0e9b9a9b33ddb",
  "parents": [
    "3768744cfea7b995dce27f02341161fbfdfee80c"
  ],
  "author": {
    "name": "Arnd Bergmann",
    "email": "arnd@arndb.de",
    "time": "Sun Sep 12 19:05:56 2010 +0200"
  },
  "committer": {
    "name": "Arnd Bergmann",
    "email": "arnd@arndb.de",
    "time": "Mon Oct 04 21:10:45 2010 +0200"
  },
  "message": "BKL: Remove BKL from isofs\n\nAs in other file systems, we can replace the big kernel lock\nwith a private mutex in isofs. This means we can now access\nmultiple file systems concurrently, but it also means that\nwe serialize readdir and lookup across sleeping operations\nwhich previously released the big kernel lock. This should\nnot matter though, as these operations are in practice\nserialized through the hardware access.\n\nThe isofs_get_blocks functions now does not take any lock\nany more, it used to recursively get the BKL. After looking\nat the code for hours, I convinced myself that it was never\nneeded here anyway, because it only reads constant fields\nof the inode and writes to a buffer head array that is\nat this time only visible to the caller.\n\nThe get_sb and fill_super operations do not need the locking\nat all because they operate on a file system that is either\nabout to be created or to be destroyed but in either case\nis not visible to other threads.\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "e0aca9a0ac68b9f5a75764a570df2c3d0bd81a72",
      "old_mode": 33188,
      "old_path": "fs/isofs/dir.c",
      "new_id": "0542b6eedf8060b64103cb86abb9643df499a2cf",
      "new_mode": 33188,
      "new_path": "fs/isofs/dir.c"
    },
    {
      "type": "modify",
      "old_id": "05baf7721e8cefcec26092644833507b058f0e6e",
      "old_mode": 33188,
      "old_path": "fs/isofs/inode.c",
      "new_id": "09ff41a752a092431068b991b9e323bbe5276fbd",
      "new_mode": 33188,
      "new_path": "fs/isofs/inode.c"
    },
    {
      "type": "modify",
      "old_id": "7d33de84f52adec9b647bfc23f883f811f939ca9",
      "old_mode": 33188,
      "old_path": "fs/isofs/isofs.h",
      "new_id": "2882dc089f87ce60c92e534d5cc6219030e4103f",
      "new_mode": 33188,
      "new_path": "fs/isofs/isofs.h"
    },
    {
      "type": "modify",
      "old_id": "ab438beb867cca718bcedf66e0355f09168b8669",
      "old_mode": 33188,
      "old_path": "fs/isofs/namei.c",
      "new_id": "0d23abfd428017697c6932d9d5c2f2b003ae43ef",
      "new_mode": 33188,
      "new_path": "fs/isofs/namei.c"
    },
    {
      "type": "modify",
      "old_id": "96a685c550fde27420a1e8d2e697ef5c4bc72705",
      "old_mode": 33188,
      "old_path": "fs/isofs/rock.c",
      "new_id": "f9cd04db6eab9509958a375a65f3b4d8eb0d6d90",
      "new_mode": 33188,
      "new_path": "fs/isofs/rock.c"
    }
  ]
}
