)]}'
{
  "commit": "6ed3003c19a96fe18edf8179c4be6fe14abbebbc",
  "tree": "dba37b52eb4c68fedc9e842a69e2c0c3b4a5aa31",
  "parents": [
    "73c34431c7119d0bc7d3436abfad75fe47b2c51f"
  ],
  "author": {
    "name": "NeilBrown",
    "email": "neilb@suse.de",
    "time": "Wed Feb 06 01:40:00 2008 -0800"
  },
  "committer": {
    "name": "Linus Torvalds",
    "email": "torvalds@woody.linux-foundation.org",
    "time": "Wed Feb 06 10:41:19 2008 -0800"
  },
  "message": "md: fix an occasional deadlock in raid5\n\nraid5\u0027s \u0027make_request\u0027 function calls generic_make_request on underlying\ndevices and if we run out of stripe heads, it could end up waiting for one of\nthose requests to complete.  This is bad as recursive calls to\ngeneric_make_request go on a queue and are not even attempted until\nmake_request completes.\n\nSo: don\u0027t make any generic_make_request calls in raid5 make_request until all\nwaiting has been done.  We do this by simply setting STRIPE_HANDLE instead of\ncalling handle_stripe().\n\nIf we need more stripe_heads, raid5d will get called to process the pending\nstripe_heads which will call generic_make_request from a\n\nThis change by itself causes a performance hit.  So add a change so that\nraid5_activate_delayed is only called at unplug time, never in raid5.  This\nseems to bring back the performance numbers.  Calling it in raid5d was\nsometimes too soon...\n\nNeil said:\n\n  How about we queue it for 2.6.25-rc1 and then about when -rc2 comes out,\n  we queue it for 2.6.24.y?\n\nAcked-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nTested-by: dean gaudet \u003cdean@arctic.org\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "63bfb07578294060d3d95baa5c097987033d7345",
      "old_mode": 33188,
      "old_path": "drivers/md/raid5.c",
      "new_id": "2d6f1a51359cc490dcfd4f9b6bc5b1add12cf9a0",
      "new_mode": 33188,
      "new_path": "drivers/md/raid5.c"
    }
  ]
}
