)]}'
{
  "commit": "a8733c7baf457b071528e385a0b7d4aaec79287c",
  "tree": "5eb6b8c52b20cb604d76ba21b15304fda4703a06",
  "parents": [
    "e9ccc998b70fbe59626f393bb0328402159c6b5c"
  ],
  "author": {
    "name": "James Bottomley",
    "email": "James.Bottomley@suse.de",
    "time": "Fri Dec 17 15:36:34 2010 -0500"
  },
  "committer": {
    "name": "James Bottomley",
    "email": "James.Bottomley@suse.de",
    "time": "Wed Dec 22 23:26:48 2010 -0600"
  },
  "message": "[SCSI] fix medium error problems with some arrays which can cause data corruption\n\nOur current handling of medium error assumes that data is returned up\nto the bad sector.  This assumption holds good for all disk devices,\nall DIF arrays and most ordinary arrays.  However, an LSI array engine\nwas recently discovered which reports a medium error without returning\nany data.  This means that when we report good data up to the medium\nerror, we\u0027ve reported junk originally in the buffer as good.  Worse,\nif the read consists of requested data plus a readahead, and the error\noccurs in readahead, we\u0027ll just strip off the readahead and report\njunk up to userspace as good data with no error.\n\nThe fix for this is to have the error position computation take into\naccount the amount of data returned by the driver using the scsi\nresidual data.  Unfortunately, not every driver fills in this data,\nbut for those who don\u0027t, it\u0027s set to zero, which means we\u0027ll think a\nfull set of data was transferred and the behaviour will be identical\nto the prior behaviour of the code (believe the buffer up to the error\nsector).  All modern drivers seem to set the residual, so that should\nfix up the LSI failure/corruption case.\n\nReported-by: Douglas Gilbert \u003cdgilbert@interlog.com\u003e\nCc: Stable Tree \u003cstable@kernel.org\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "d8e2caf9f468bd803e1c3ea66fc9330393026cdd",
      "old_mode": 33188,
      "old_path": "drivers/scsi/sd.c",
      "new_id": "365024b0c40770689061c8042a7625b18de750db",
      "new_mode": 33188,
      "new_path": "drivers/scsi/sd.c"
    }
  ]
}
