)]}'
{
  "commit": "60c856c8e2f57a3f69c505735ef66e3719ea0bd6",
  "tree": "a6295bec9c1fa01885ef14befa4ae3618f51ca57",
  "parents": [
    "b34578a48459ed1bd5396631aaa4a65d6bcc7726"
  ],
  "author": {
    "name": "Mikulas Patocka",
    "email": "mpatocka@redhat.com",
    "time": "Thu Oct 30 13:33:12 2008 +0000"
  },
  "committer": {
    "name": "Alasdair G Kergon",
    "email": "agk@redhat.com",
    "time": "Thu Oct 30 13:33:12 2008 +0000"
  },
  "message": "dm snapshot: fix register_snapshot deadlock\n\nregister_snapshot() performs a GFP_KERNEL allocation while holding\n_origins_lock for write, but that could write out dirty pages onto a\ndevice that attempts to acquire _origins_lock for read, resulting in\ndeadlock.\n\nSo move the allocation up before taking the lock.\n\nThis path is not performance-critical, so it doesn\u0027t matter that we\nallocate memory and free it if we find that we won\u0027t need it.\n\nSigned-off-by: Mikulas Patocka \u003cmpatocka@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "b2d9d1ac28adb4554537fd3568ae4fe52e748a41",
      "old_mode": 33188,
      "old_path": "drivers/md/dm-snap.c",
      "new_id": "746603b42f86d988bef1715dfc3a5b2e51a225f8",
      "new_mode": 33188,
      "new_path": "drivers/md/dm-snap.c"
    }
  ]
}
