svn commit: r287783 - head/sys/cam/ctl

Alexander Motin mav at FreeBSD.org
Mon Sep 14 15:15:33 UTC 2015


Author: mav
Date: Mon Sep 14 15:15:32 2015
New Revision: 287783
URL: https://svnweb.freebsd.org/changeset/base/287783

Log:
  Implement data/status aggregation for camsim backend.
  
  This is almost pointless for primary HA node, but useful for secondary,
  where between fe_datamove and fe_done calls goes another link roundtrip.

Modified:
  head/sys/cam/ctl/ctl_frontend_cam_sim.c

Modified: head/sys/cam/ctl/ctl_frontend_cam_sim.c
==============================================================================
--- head/sys/cam/ctl/ctl_frontend_cam_sim.c	Mon Sep 14 14:42:06 2015	(r287782)
+++ head/sys/cam/ctl/ctl_frontend_cam_sim.c	Mon Sep 14 15:15:32 2015	(r287783)
@@ -435,6 +435,13 @@ cfcs_datamove(union ctl_io *io)
 
 	io->scsiio.ext_data_filled += len_copied;
 
+	if ((io->io_hdr.status & CTL_STATUS_MASK) == CTL_SUCCESS) {
+		io->io_hdr.ctl_private[CTL_PRIV_FRONTEND].ptr = NULL;
+		io->io_hdr.flags |= CTL_FLAG_STATUS_SENT;
+		ccb->ccb_h.status = CAM_REQ_CMP;
+		xpt_done(ccb);
+	}
+
 	io->scsiio.be_move_done(io);
 }
 


More information about the svn-src-head mailing list