nop: print a warning if the oldest element in iscsi->waitpdu queue is stuck
Signed-off-by: Peter Lieven <pl@kamp.de>
This commit is contained in:
@@ -87,6 +87,7 @@ struct iscsi_context {
|
||||
unsigned char isid[6];
|
||||
uint32_t itt;
|
||||
uint32_t cmdsn;
|
||||
uint32_t min_cmdsn_waiting;
|
||||
uint32_t expcmdsn;
|
||||
uint32_t maxcmdsn;
|
||||
uint32_t statsn;
|
||||
|
||||
@@ -794,7 +794,7 @@ iscsi_login_async(struct iscsi_context *iscsi, iscsi_command_cb cb,
|
||||
if (!iscsi->current_phase && !iscsi->secneg_phase) {
|
||||
iscsi->itt = (u_int32_t) rand();
|
||||
iscsi->cmdsn = (u_int32_t) rand();
|
||||
iscsi->expcmdsn = iscsi->maxcmdsn = iscsi->cmdsn;
|
||||
iscsi->expcmdsn = iscsi->maxcmdsn = iscsi->min_cmdsn_waiting = iscsi->cmdsn;
|
||||
}
|
||||
|
||||
pdu = iscsi_allocate_pdu(iscsi,
|
||||
|
||||
@@ -143,6 +143,12 @@ iscsi_process_nop_out_reply(struct iscsi_context *iscsi, struct iscsi_pdu *pdu,
|
||||
"NOP-In received (pdu->itt %08x, pdu->ttt %08x, iscsi->maxcmdsn %08x, iscsi->expcmdsn %08x, iscsi->statsn %08x)",
|
||||
pdu->itt, 0xffffffff, iscsi->maxcmdsn, iscsi->expcmdsn, iscsi->statsn);
|
||||
|
||||
if (iscsi->waitpdu->cmdsn == iscsi->min_cmdsn_waiting) {
|
||||
ISCSI_LOG(iscsi, 2, "Oldest element in waitqueue is unchanged since last NOP-In (iscsi->min_cmdsn_waiting %08x)",
|
||||
iscsi->min_cmdsn_waiting);
|
||||
}
|
||||
iscsi->min_cmdsn_waiting = iscsi->waitpdu->cmdsn;
|
||||
|
||||
iscsi->nops_in_flight = 0;
|
||||
|
||||
if (pdu->callback == NULL) {
|
||||
|
||||
Reference in New Issue
Block a user