Date: Mon, 14 Sep 2015 15:15:33 +0000 (UTC) From: Alexander Motin <mav@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r287783 - head/sys/cam/ctl Message-ID: <201509141515.t8EFFXK9025123@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
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); }
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201509141515.t8EFFXK9025123>