)]}'
{
  "commit": "4dfbb9d8c6cbfc32faa5c71145bd2a43e1f8237c",
  "tree": "a4fefea0d5f5930240f4ecd6f9716a029cc927a9",
  "parents": [
    "86255d9d0bede79140f4912482447963f00818c0"
  ],
  "author": {
    "name": "Peter Zijlstra",
    "email": "a.p.zijlstra@chello.nl",
    "time": "Wed Oct 11 01:45:14 2006 -0400"
  },
  "committer": {
    "name": "Dmitry Torokhov",
    "email": "dtor@insightbb.com",
    "time": "Wed Oct 11 01:45:14 2006 -0400"
  },
  "message": "Lockdep: add lockdep_set_class_and_subclass() and lockdep_set_subclass()\n\nThis annotation makes it possible to assign a subclass on lock init. This\nannotation is meant to reduce the _nested() annotations by assigning a\ndefault subclass.\n\nOne could do without this annotation and rely on lockdep_set_class()\nexclusively, but that would require a manual stack of struct lock_class_key\nobjects.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "1314ca0f29be78f637f027614d09d5a062e091a2",
      "old_mode": 33188,
      "old_path": "include/linux/lockdep.h",
      "new_id": "14fec2a23b2eda98b1543a4feec4bd8e4860a3b0",
      "new_mode": 33188,
      "new_path": "include/linux/lockdep.h"
    },
    {
      "type": "modify",
      "old_id": "4c0553461000360e4f4cb459bde0d289f9f89b97",
      "old_mode": 33188,
      "old_path": "kernel/lockdep.c",
      "new_id": "ba7156ac70c145d122d0f15c27782519f38f335d",
      "new_mode": 33188,
      "new_path": "kernel/lockdep.c"
    },
    {
      "type": "modify",
      "old_id": "e3203c654dda80ab646ffcbd4b0306e942fde846",
      "old_mode": 33188,
      "old_path": "kernel/mutex-debug.c",
      "new_id": "18651641a7b5aa6482e0aa73ce03b5133e6ffa91",
      "new_mode": 33188,
      "new_path": "kernel/mutex-debug.c"
    },
    {
      "type": "modify",
      "old_id": "db4fed74b9407d5ec2ddae1a95247f583ab0d569",
      "old_mode": 33188,
      "old_path": "lib/rwsem-spinlock.c",
      "new_id": "c4cfd6c0342ff1e4fbc04b9fff3b93f0d00118bd",
      "new_mode": 33188,
      "new_path": "lib/rwsem-spinlock.c"
    },
    {
      "type": "modify",
      "old_id": "901d0e7da89220fae47848d349633ae43c1afd7e",
      "old_mode": 33188,
      "old_path": "lib/rwsem.c",
      "new_id": "cdb4e3d0560733c2706a27ccd20681017da2e34a",
      "new_mode": 33188,
      "new_path": "lib/rwsem.c"
    },
    {
      "type": "modify",
      "old_id": "dafaf1de2491aedb0a323aed4951e5084e58e18c",
      "old_mode": 33188,
      "old_path": "lib/spinlock_debug.c",
      "new_id": "b6c4f898197c52f0b175ad0ea9e26466c338ea30",
      "new_mode": 33188,
      "new_path": "lib/spinlock_debug.c"
    },
    {
      "type": "modify",
      "old_id": "b77e155cbe6c036acc1413a1470c5f92d9b05c6c",
      "old_mode": 33188,
      "old_path": "net/core/sock.c",
      "new_id": "d472db4776c3bd72fcf396287ad7edf873affffb",
      "new_mode": 33188,
      "new_path": "net/core/sock.c"
    }
  ]
}
