)]}'
{
  "commit": "f0a50d3754c7f1b7f05f45b1c0b35d20445316b5",
  "tree": "c54b572ad4c4c9b48f887a9ecc28ec7b6166d552",
  "parents": [
    "b5e98d65d34a1c11a2135ea8a9b2619dbc7216c8"
  ],
  "author": {
    "name": "Dan Williams",
    "email": "dan.j.williams@intel.com",
    "time": "Tue Jan 02 13:52:31 2007 -0700"
  },
  "committer": {
    "name": "Dan Williams",
    "email": "dan.j.williams@intel.com",
    "time": "Fri Jul 13 08:06:17 2007 -0700"
  },
  "message": "md: handle_stripe5 - add request/completion logic for async expand ops\n\nWhen a stripe is being expanded bulk copying takes place to move the data\nfrom the old stripe to the new.  Since raid5_run_ops only operates on one\nstripe at a time these bulk copies are handled in-line under the stripe\nlock.  In the dma offload case we poll for the completion of the operation.\n\nAfter the data has been copied into the new stripe the parity needs to be\nrecalculated across the new disks.  We reuse the existing postxor\nfunctionality to carry out this calculation.  By setting STRIPE_OP_POSTXOR\nwithout setting STRIPE_OP_BIODRAIN the completion path in handle stripe\ncan differentiate expand operations from normal write operations.\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nAcked-By: NeilBrown \u003cneilb@suse.de\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "a33dac7c2e2fb143d674a48b8ab19280cdd36dd8",
      "old_mode": 33188,
      "old_path": "drivers/md/raid5.c",
      "new_id": "c6e0e2b26f60368c6cd22cf50c0af87fa361db95",
      "new_mode": 33188,
      "new_path": "drivers/md/raid5.c"
    }
  ]
}
