SCSI Add support for STATUS_BUSY
Add support for BUSY status coide from the target and just pass this back to the application as is (instead of converting it to _ERROR). This allows the application to trap task->status==SCSI_STATUS_BUSY and decide what/how to proceed.
This commit is contained in:
@@ -40,6 +40,7 @@ iscsi_scsi_response_cb(struct iscsi_context *iscsi, int status,
|
||||
case SCSI_STATUS_RESERVATION_CONFLICT:
|
||||
case SCSI_STATUS_CHECK_CONDITION:
|
||||
case SCSI_STATUS_GOOD:
|
||||
case SCSI_STATUS_BUSY:
|
||||
case SCSI_STATUS_ERROR:
|
||||
case SCSI_STATUS_CANCELLED:
|
||||
scsi_cbdata->callback(iscsi, status, scsi_cbdata->task,
|
||||
@@ -395,6 +396,11 @@ iscsi_process_scsi_reply(struct iscsi_context *iscsi, struct iscsi_pdu *pdu,
|
||||
pdu->callback(iscsi, SCSI_STATUS_RESERVATION_CONFLICT,
|
||||
task, pdu->private_data);
|
||||
break;
|
||||
case SCSI_STATUS_BUSY:
|
||||
iscsi_set_error(iscsi, "BUSY");
|
||||
pdu->callback(iscsi, SCSI_STATUS_BUSY,
|
||||
task, pdu->private_data);
|
||||
break;
|
||||
default:
|
||||
iscsi_set_error(iscsi, "Unknown SCSI status :%d.", status);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user