summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormav <mav@FreeBSD.org>2014-07-08 12:16:28 +0000
committermav <mav@FreeBSD.org>2014-07-08 12:16:28 +0000
commita19a69842c309579c66ef5fa8db053d307ae02df (patch)
treeeec9ca8aa87021ea365d1c08d5d0a689df19e9b5
parent3d17a2a3d2526935c300e7c4aa7ff75ef27e2d17 (diff)
downloadFreeBSD-src-a19a69842c309579c66ef5fa8db053d307ae02df.zip
FreeBSD-src-a19a69842c309579c66ef5fa8db053d307ae02df.tar.gz
Do not return statuses for aborted iSCSI commands.
-rw-r--r--sys/cam/ctl/ctl_frontend_iscsi.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/sys/cam/ctl/ctl_frontend_iscsi.c b/sys/cam/ctl/ctl_frontend_iscsi.c
index 4662978..406e625 100644
--- a/sys/cam/ctl/ctl_frontend_iscsi.c
+++ b/sys/cam/ctl/ctl_frontend_iscsi.c
@@ -2698,6 +2698,16 @@ cfiscsi_scsi_command_done(union ctl_io *io)
CFISCSI_SESSION_UNLOCK(cs);
#endif
+ /*
+ * Do not return status for aborted commands.
+ * There are exceptions, but none supported by CTL yet.
+ */
+ if (io->io_hdr.status == CTL_CMD_ABORTED) {
+ ctl_free_io(io);
+ icl_pdu_free(request);
+ return;
+ }
+
response = cfiscsi_pdu_new_response(request, M_WAITOK);
bhssr = (struct iscsi_bhs_scsi_response *)response->ip_bhs;
bhssr->bhssr_opcode = ISCSI_BHS_OPCODE_SCSI_RESPONSE;
OpenPOWER on IntegriCloud