)]}'
{
  "commit": "663d440eaa496db903cc58be04b9b602ba45e43b",
  "tree": "8af6967e175693f1c163a106a1d84be7a1bd0bfc",
  "parents": [
    "2b2d5493e10051694ae3a57ea6a153e3cb4d4488"
  ],
  "author": {
    "name": "Ingo Molnar",
    "email": "mingo@elte.hu",
    "time": "Mon Jul 03 00:25:33 2006 -0700"
  },
  "committer": {
    "name": "Linus Torvalds",
    "email": "torvalds@g5.osdl.org",
    "time": "Mon Jul 03 15:27:10 2006 -0700"
  },
  "message": "[PATCH] lockdep: annotate blkdev nesting\n\nTeach special (recursive) locking code to the lock validator.\n\nEffects on non-lockdep kernels:\n\n- the introduction of the following function variants:\n\n  extern struct block_device *open_partition_by_devnum(dev_t, unsigned);\n\n  extern int blkdev_put_partition(struct block_device *);\n\n  static int\n  blkdev_get_whole(struct block_device *bdev, mode_t mode, unsigned flags);\n\n which on non-lockdep are the same as open_by_devnum(), blkdev_put()\n and blkdev_get().\n\n- a subclass parameter to do_open(). [unused on non-lockdep]\n\n- a subclass parameter to __blkdev_put(), which is a new internal\n  function for the main blkdev_put*() functions. [parameter unused\n  on non-lockdep kernels, except for two sanity check WARN_ON()s]\n\nthese functions carry no semantical difference - they only express\nobject dependencies towards the lockdep subsystem.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nCc: Neil Brown \u003cneilb@cse.unsw.edu.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "2fe32c2619227721468cd1c8e0843bb4b122d0b2",
      "old_mode": 33188,
      "old_path": "drivers/md/md.c",
      "new_id": "e4e161372a3e431ba8cfb0bd0736f5efc4ecdf72",
      "new_mode": 33188,
      "new_path": "drivers/md/md.c"
    },
    {
      "type": "modify",
      "old_id": "9633a490dab0ae71063f86fcbd7c3de72114a2ea",
      "old_mode": 33188,
      "old_path": "fs/block_dev.c",
      "new_id": "37534573960bc5cd1149ef52c118d438dd66833d",
      "new_mode": 33188,
      "new_path": "fs/block_dev.c"
    },
    {
      "type": "modify",
      "old_id": "e26de68059afc1f1a1b25488c12b0b24cf67342c",
      "old_mode": 33188,
      "old_path": "include/linux/fs.h",
      "new_id": "134b320682467fa84045e8cb7e8c68d2f20a7108",
      "new_mode": 33188,
      "new_path": "include/linux/fs.h"
    }
  ]
}
