summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormav <mav@FreeBSD.org>2015-10-05 10:42:07 +0000
committermav <mav@FreeBSD.org>2015-10-05 10:42:07 +0000
commitd3ccd879b58b58bde1f9df0cd8c91f567ca25ff1 (patch)
treef57812b2aa5119f8e2f45dbe8a6ab4a1d06ddaf9
parente6730078eb600c022e751c91cc886aa4a5b09e4f (diff)
downloadFreeBSD-src-d3ccd879b58b58bde1f9df0cd8c91f567ca25ff1.zip
FreeBSD-src-d3ccd879b58b58bde1f9df0cd8c91f567ca25ff1.tar.gz
MFC r287968: Mark I/Os with DMA flag while moving data through the HA link.
-rw-r--r--sys/cam/ctl/ctl.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/sys/cam/ctl/ctl.c b/sys/cam/ctl/ctl.c
index 567cfba..4af391e 100644
--- a/sys/cam/ctl/ctl.c
+++ b/sys/cam/ctl/ctl.c
@@ -1150,6 +1150,7 @@ ctl_isc_event_handler(ctl_ha_channel channel, ctl_ha_event event, int param)
*/
io = msg->hdr.serializing_sc;
io->io_hdr.msg_type = CTL_MSG_DATAMOVE_DONE;
+ io->io_hdr.flags &= ~CTL_FLAG_DMA_INPROG;
io->io_hdr.flags |= CTL_FLAG_IO_ACTIVE;
io->io_hdr.port_status = msg->scsi.fetd_status;
io->scsiio.residual = msg->scsi.residual;
@@ -11060,6 +11061,7 @@ ctl_failover_lun(struct ctl_lun *lun)
io->flags |= CTL_FLAG_FAILOVER;
} else { /* This can be only due to DATAMOVE */
io->msg_type = CTL_MSG_DATAMOVE_DONE;
+ io->flags &= ~CTL_FLAG_DMA_INPROG;
io->flags |= CTL_FLAG_IO_ACTIVE;
io->port_status = 31340;
ctl_enqueue_isc((union ctl_io *)io);
@@ -12445,6 +12447,7 @@ ctl_datamove(union ctl_io *io)
return;
}
io->io_hdr.flags &= ~CTL_FLAG_IO_ACTIVE;
+ io->io_hdr.flags |= CTL_FLAG_DMA_INPROG;
if (lun)
mtx_unlock(&lun->lun_lock);
} else {
OpenPOWER on IntegriCloud