pdu: add more debugging info for timed out commands

Signed-off-by: Peter Lieven <pl@kamp.de>
This commit is contained in:
Peter Lieven
2015-06-16 12:06:59 +02:00
parent 0a3e157844
commit 7dd62aca61
+6 -5
View File
@@ -75,7 +75,7 @@ void iscsi_dump_pdu_header(struct iscsi_context *iscsi, unsigned char *data) {
for (i=0;i<ISCSI_RAW_HEADER_SIZE;i++) { for (i=0;i<ISCSI_RAW_HEADER_SIZE;i++) {
snprintf(&dump[i * 3], 4, " %02x", data[i]); snprintf(&dump[i * 3], 4, " %02x", data[i]);
} }
ISCSI_LOG(iscsi, 0, "PDU header:%s",dump); ISCSI_LOG(iscsi, 2, "PDU header:%s", dump);
} }
struct iscsi_pdu * struct iscsi_pdu *
@@ -322,7 +322,6 @@ static void iscsi_reconnect_after_logout(struct iscsi_context *iscsi, int status
iscsi->pending_reconnect = 1; iscsi->pending_reconnect = 1;
} }
int iscsi_process_reject(struct iscsi_context *iscsi, int iscsi_process_reject(struct iscsi_context *iscsi,
struct iscsi_in_pdu *in) struct iscsi_in_pdu *in)
{ {
@@ -348,9 +347,7 @@ int iscsi_process_reject(struct iscsi_context *iscsi,
itt = scsi_get_uint32(&in->data[16]); itt = scsi_get_uint32(&in->data[16]);
if (iscsi->log_level > 1) { iscsi_dump_pdu_header(iscsi, in->data);
iscsi_dump_pdu_header(iscsi, in->data);
}
for (pdu = iscsi->waitpdu; pdu; pdu = pdu->next) { for (pdu = iscsi->waitpdu; pdu; pdu = pdu->next) {
if (pdu->itt == itt) { if (pdu->itt == itt) {
@@ -706,6 +703,8 @@ iscsi_timeout_scan(struct iscsi_context *iscsi)
continue; continue;
} }
ISCSI_LIST_REMOVE(&iscsi->outqueue, pdu); ISCSI_LIST_REMOVE(&iscsi->outqueue, pdu);
iscsi_set_error(iscsi, "command timed out");
iscsi_dump_pdu_header(iscsi, pdu->outdata.data);
pdu->callback(iscsi, SCSI_STATUS_TIMEOUT, pdu->callback(iscsi, SCSI_STATUS_TIMEOUT,
NULL, pdu->private_data); NULL, pdu->private_data);
} }
@@ -721,6 +720,8 @@ iscsi_timeout_scan(struct iscsi_context *iscsi)
continue; continue;
} }
ISCSI_LIST_REMOVE(&iscsi->waitpdu, pdu); ISCSI_LIST_REMOVE(&iscsi->waitpdu, pdu);
iscsi_set_error(iscsi, "command timed out");
iscsi_dump_pdu_header(iscsi, pdu->outdata.data);
pdu->callback(iscsi, SCSI_STATUS_TIMEOUT, pdu->callback(iscsi, SCSI_STATUS_TIMEOUT,
NULL, pdu->private_data); NULL, pdu->private_data);
} }