)]}'
{
  "commit": "bfa152fa5e4d328fe3ebf15908ee8ec20a0ce6dc",
  "tree": "1695481328f884639d6237eebfa48f4c29f9ce7c",
  "parents": [
    "e540eb45a5254873245fd377f2fe3afc47bd33c1"
  ],
  "author": {
    "name": "Jun\u0027ichi Nomura",
    "email": "j-nomura@ce.jp.nec.com",
    "time": "Fri Jan 26 00:57:07 2007 -0800"
  },
  "committer": {
    "name": "Linus Torvalds",
    "email": "torvalds@woody.linux-foundation.org",
    "time": "Fri Jan 26 13:51:00 2007 -0800"
  },
  "message": "[PATCH] dm-multipath: fix stall on noflush suspend/resume\n\nAllow noflush suspend/resume of device-mapper device only for the case\nwhere the device size is unchanged.\n\nOtherwise, dm-multipath devices can stall when resumed if noflush was used\nwhen suspending them, all paths have failed and queue_if_no_path is set.\n\nExplanation:\n 1. Something is doing fsync() on the block dev,\n    holding inode-\u003ei_sem\n 2. The fsync write is blocked by all-paths-down and queue_if_no_path\n 3. Someone requests to suspend the dm device with noflush.\n    Pending writes are left in queue.\n 4. In the middle of dm_resume(), __bind() tries to get\n    inode-\u003ei_sem to do __set_size() and waits forever.\n\n\u0027noflush suspend\u0027 is a new device-mapper feature introduced in\nearly 2.6.20. So I hope the fix being included before 2.6.20 is\nreleased.\n\nExample of reproducer:\n 1. Create a multipath device by dmsetup\n 2. Fail all paths during mkfs\n 3. Do dmsetup suspend --noflush and load new map with healthy paths\n 4. Do dmsetup resume\n\nSigned-off-by: Jun\u0027ichi Nomura \u003cj-nomura@ce.jp.nec.com\u003e\nAcked-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "fe7c56e104359ce95ce8b34143542535d030c78c",
      "old_mode": 33188,
      "old_path": "drivers/md/dm.c",
      "new_id": "3668b170ea68f7c11cb8fc850ddf1babeb7eaa5a",
      "new_mode": 33188,
      "new_path": "drivers/md/dm.c"
    }
  ]
}
