)]}'
{
  "commit": "3944f50995f947558c35fb16ae0288354756762c",
  "tree": "59100b5e0a6aaef675bab78a31838356a3554a95",
  "parents": [
    "9095a64a9aead653df320e3a6fc70835c15d46e4"
  ],
  "author": {
    "name": "Dan Williams",
    "email": "dan.j.williams@intel.com",
    "time": "Tue Nov 29 12:08:50 2011 -0800"
  },
  "committer": {
    "name": "James Bottomley",
    "email": "JBottomley@Parallels.com",
    "time": "Sun Feb 19 14:07:15 2012 -0600"
  },
  "message": "[SCSI] libsas: let libata handle command timeouts\n\nlibsas-eh if it successfully aborts an ata command will hide the timeout\ncondition (AC_ERR_TIMEOUT) from libata.  The command likely completes\nwith the all-zero task-\u003etask_status it started with.  Instead, interpret\na TMF_RESP_FUNC_COMPLETE as the end of the sas_task but keep the scmd\naround for libata-eh to handle.\n\nTested-by: Andrzej Jakowski \u003candrzej.jakowski@intel.com\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "52cd11d766644b7e29aacfd1a219c4abd336424a",
      "old_mode": 33188,
      "old_path": "drivers/scsi/libsas/sas_init.c",
      "new_id": "e17fe35af30cbd0ce3bc1f59549db355d9fa854c",
      "new_mode": 33188,
      "new_path": "drivers/scsi/libsas/sas_init.c"
    },
    {
      "type": "modify",
      "old_id": "0e3fdba7b5106fd5e3031c0468672d1413c66791",
      "old_mode": 33188,
      "old_path": "drivers/scsi/libsas/sas_scsi_host.c",
      "new_id": "e02ca3d570f5d88aea1920cb18939f4398a5463f",
      "new_mode": 33188,
      "new_path": "drivers/scsi/libsas/sas_scsi_host.c"
    },
    {
      "type": "modify",
      "old_id": "aa7192ff4355d0157815fccdbbb02d6a80a7ac04",
      "old_mode": 33188,
      "old_path": "include/scsi/libsas.h",
      "new_id": "6b80310e08af9c4070fec18c0221dd3e142d92fe",
      "new_mode": 33188,
      "new_path": "include/scsi/libsas.h"
    }
  ]
}
