Revert "Fail pending LOGOUT commands on session reconnect"
This seriously breaks qemu NOP timeouts and probably other things.
The reason is that the
define ISCSI_PDU_ERROR_ON_RECONNECT 0x00000016
is masking bits 0x2 and 0x4 as well.
Correctly it should read:
define ISCSI_PDU_ERROR_ON_RECONNECT 0x00000010
However, the better solution for this approach is invoke all callbacks
of PDUs which carry the ISCSI_PDU_DROP_ON_RECONNECT flag. This will
make sure that callbacks of whatever sync tasks are invoked.
This reverts commit 0407cf6aed.
This commit is contained in:
@@ -338,18 +338,6 @@ void iscsi_reconnect_cb(struct iscsi_context *iscsi _U_, int status,
|
||||
continue;
|
||||
}
|
||||
|
||||
if (pdu->flags & ISCSI_PDU_ERROR_ON_RECONNECT) {
|
||||
/*
|
||||
* We only want to re-queue SCSI COMMAND PDUs.
|
||||
* All other PDUs are discarded at this point.
|
||||
* This includes DATA-OUT, NOP and task management.
|
||||
*/
|
||||
pdu->callback(iscsi, SCSI_STATUS_ERROR, NULL,
|
||||
pdu->private_data);
|
||||
iscsi_free_pdu(old_iscsi, pdu);
|
||||
continue;
|
||||
}
|
||||
|
||||
if (pdu->flags & ISCSI_PDU_DROP_ON_RECONNECT) {
|
||||
/*
|
||||
* We only want to re-queue SCSI COMMAND PDUs.
|
||||
|
||||
Reference in New Issue
Block a user