summaryrefslogtreecommitdiffstats
path: root/sys/cam/ctl/ctl_error.c
diff options
context:
space:
mode:
authormav <mav@FreeBSD.org>2014-07-15 17:18:50 +0000
committermav <mav@FreeBSD.org>2014-07-15 17:18:50 +0000
commit1e9a14c2c4d55bb2ab838cecc853bb3ba0b3f662 (patch)
treefe298c6030f560c8928aded3ee94c32e3b26aa12 /sys/cam/ctl/ctl_error.c
parent05919e7e4cffea5cd8c10e7f2ed425b974e1d095 (diff)
downloadFreeBSD-src-1e9a14c2c4d55bb2ab838cecc853bb3ba0b3f662.zip
FreeBSD-src-1e9a14c2c4d55bb2ab838cecc853bb3ba0b3f662.tar.gz
MFC r268418:
Enable TAS feature: notify initiator if its command was aborted by other. That should make operation more kind to multi-initiator environment. Without this, other initiators may find out that something bad happened to their commands only via command timeout.
Diffstat (limited to 'sys/cam/ctl/ctl_error.c')
-rw-r--r--sys/cam/ctl/ctl_error.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/sys/cam/ctl/ctl_error.c b/sys/cam/ctl/ctl_error.c
index 2109259..6ecb54b 100644
--- a/sys/cam/ctl/ctl_error.c
+++ b/sys/cam/ctl/ctl_error.c
@@ -795,6 +795,18 @@ ctl_set_busy(struct ctl_scsiio *ctsio)
}
void
+ctl_set_task_aborted(struct ctl_scsiio *ctsio)
+{
+ struct scsi_sense_data *sense;
+
+ sense = &ctsio->sense_data;
+ memset(sense, 0, sizeof(*sense));
+ ctsio->scsi_status = SCSI_STATUS_TASK_ABORTED;
+ ctsio->sense_len = 0;
+ ctsio->io_hdr.status = CTL_CMD_ABORTED;
+}
+
+void
ctl_set_success(struct ctl_scsiio *ctsio)
{
struct scsi_sense_data *sense;
OpenPOWER on IntegriCloud