task_mgmt: don't cancel local PDUs on ABORT TASK

Currently the iscsi_task_mgmt_abort_task_[a]sync() functions cancel any
queued or dispatched (awaiting response) PDUs prior to transmitting the
ABORT TASK TMF request, which means that a TMF request may be sent which
references a PDU that the target never received.

Bug: https://github.com/sahlberg/libiscsi/issues/192

Signed-off-by: David Disseldorp <ddiss@suse.de>
This commit is contained in:
David Disseldorp
2016-03-22 17:10:43 +01:00
parent 4a3dcf0349
commit c38a8c1d9a
2 changed files with 0 additions and 5 deletions

View File

@@ -276,8 +276,6 @@ int
iscsi_task_mgmt_abort_task_sync(struct iscsi_context *iscsi,
struct scsi_task *task)
{
iscsi_scsi_cancel_task(iscsi, task);
return iscsi_task_mgmt_sync(iscsi, task->lun,
ISCSI_TM_ABORT_TASK,
task->itt, task->cmdsn);

View File

@@ -101,14 +101,11 @@ iscsi_process_task_mgmt_reply(struct iscsi_context *iscsi, struct iscsi_pdu *pdu
return 0;
}
int
iscsi_task_mgmt_abort_task_async(struct iscsi_context *iscsi,
struct scsi_task *task,
iscsi_command_cb cb, void *private_data)
{
iscsi_scsi_cancel_task(iscsi, task);
return iscsi_task_mgmt_async(iscsi,
task->lun, ISCSI_TM_ABORT_TASK,
task->itt, task->cmdsn,