)]}'
{
  "commit": "eb6e199bef288611157b8198c25d12b32bf058d0",
  "tree": "80737a2703a9f4d09cee2410342aeccb281413ae",
  "parents": [
    "626350b63ef2cd447023d3dc2a34eaa7ca01bfff"
  ],
  "author": {
    "name": "Stefan Weinhuber",
    "email": "wein@de.ibm.com",
    "time": "Mon Dec 07 12:51:51 2009 +0100"
  },
  "committer": {
    "name": "Martin Schwidefsky",
    "email": "sky@mschwide.boeblingen.de.ibm.com",
    "time": "Mon Dec 07 12:51:34 2009 +0100"
  },
  "message": "[S390] dasd: improve error recovery for internal I/O\n\nMost of the error conditions reported by a FICON storage server\nindicate situations which can be recovered. Sometimes the host just\nneeds to retry an I/O request, but sometimes the recovery\nis more complex and requires the device driver to wait, choose\na different path, etc.\n\nThe DASD device driver has a fully featured error recovery\nfor normal block layer I/O, but not for internal I/O request which\nare for example used during the device bring up.\nThis can lead to situations where the IPL of a system fails because\nDASD devices are not properly recognized.\nThis patch will extend the internal I/O handling to use the existing\nerror recovery procedures.\n\nSigned-off-by: Stefan Weinhuber \u003cwein@de.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "329115a4d4b35049efb0a3365679b455187a6607",
      "old_mode": 33188,
      "old_path": "drivers/s390/block/dasd.c",
      "new_id": "4f211c175b5533a860d0faca80de752900878e19",
      "new_mode": 33188,
      "new_path": "drivers/s390/block/dasd.c"
    },
    {
      "type": "modify",
      "old_id": "316eb1256a999a5839065352a09a286099502ad9",
      "old_mode": 33188,
      "old_path": "drivers/s390/block/dasd_3990_erp.c",
      "new_id": "44796ba4eb9b06a42358c57735f47410119da427",
      "new_mode": 33188,
      "new_path": "drivers/s390/block/dasd_3990_erp.c"
    },
    {
      "type": "modify",
      "old_id": "70a008c00522079c1f369c687474cb9c943a575c",
      "old_mode": 33188,
      "old_path": "drivers/s390/block/dasd_alias.c",
      "new_id": "cdc6c049c35386af90fbe27124d91575166846ab",
      "new_mode": 33188,
      "new_path": "drivers/s390/block/dasd_alias.c"
    },
    {
      "type": "modify",
      "old_id": "abb2ec836ee87278b9bc151fe4919011987643e5",
      "old_mode": 33188,
      "old_path": "drivers/s390/block/dasd_eckd.c",
      "new_id": "39ffc84712f006c7d1aa956f9d01c989a5e70a13",
      "new_mode": 33188,
      "new_path": "drivers/s390/block/dasd_eckd.c"
    },
    {
      "type": "modify",
      "old_id": "8afd9fa0087592d555f1bbcbcac59806f0c24355",
      "old_mode": 33188,
      "old_path": "drivers/s390/block/dasd_int.h",
      "new_id": "8c2ea045188e55d676895430486d73ed8fe6e40b",
      "new_mode": 33188,
      "new_path": "drivers/s390/block/dasd_int.h"
    },
    {
      "type": "modify",
      "old_id": "f756a1b0c57a79198f764c5dfeed573a4f3519b9",
      "old_mode": 33188,
      "old_path": "drivers/s390/block/dasd_ioctl.c",
      "new_id": "478bcdb90b6fbb29b9afbc1a66e267c2200bd530",
      "new_mode": 33188,
      "new_path": "drivers/s390/block/dasd_ioctl.c"
    }
  ]
}
