)]}'
{
  "commit": "91307df41d639553926947ee76f492724e0c7992",
  "tree": "888f3d61e9ca942cb2116175fae8fd6d0bfc0974",
  "parents": [
    "cfd527d9db57ceac8a1e211b77c3357259df48cc"
  ],
  "author": {
    "name": "Nicholas Bellinger",
    "email": "nab@linux-iscsi.org",
    "time": "Sat Feb 06 21:48:04 2016 -0800"
  },
  "committer": {
    "name": "Nicholas Bellinger",
    "email": "nab@linux-iscsi.org",
    "time": "Sat Feb 06 22:16:47 2016 -0800"
  },
  "message": "target/iblock: Use -EAGAIN/-ENOMEM to propigate SAM BUSY/TASK_SET_FULL\n\nThis patch updates target/iblock backend driver code to\ncheck for bio completion status of -EAGAIN / -ENOMEM\nprovided by raw block drivers and scsi devices, in order\nto generate the following SCSI status to initiators:\n\n  - SAM_STAT_BUSY\n  - SAM_STAT_TASK_SET_FULL\n\nNote these two SAM status codes are useful to signal to\nLinux SCSI host side that se_cmd should be retried\nagain, or with TASK_SET_FULL case to attempt to lower\nour internal host LLD queue_depth and scsi_cmnd retry.\n\nIt also updates target_complete_cmd() to parse status\nwhen signalling success to target_completion_wq.\n\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Hannes Reinecke \u003chare@suse.de\u003e\nCc: Sagi Grimberg \u003csagig@mellanox.com\u003e\nCc: Andy Grover \u003cagrover@redhat.com\u003e\nCc: Mike Christie \u003cmchristi@redhat.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "5a2899f9f50b6e4b88730f9db76bf085f97b2b88",
      "old_mode": 33188,
      "old_path": "drivers/target/target_core_iblock.c",
      "new_id": "77d0381bf20c9fcb8f0f253fddc0135aaa362e5f",
      "new_mode": 33188,
      "new_path": "drivers/target/target_core_iblock.c"
    },
    {
      "type": "modify",
      "old_id": "01c2afd815008d6cfa9d6b6d5490e1c39394db89",
      "old_mode": 33188,
      "old_path": "drivers/target/target_core_iblock.h",
      "new_id": "ff3cfdd7b469eeaf4458b17e84ae986cbd66bf17",
      "new_mode": 33188,
      "new_path": "drivers/target/target_core_iblock.h"
    },
    {
      "type": "modify",
      "old_id": "6becc94f2913aa8f71dc02c6f7e1c9a5db4b7306",
      "old_mode": 33188,
      "old_path": "drivers/target/target_core_transport.c",
      "new_id": "eb12ae2bd06e87570d316cd1403129f322fba5b1",
      "new_mode": 33188,
      "new_path": "drivers/target/target_core_transport.c"
    }
  ]
}
