From 2a81eaec72260a1cb69e31ca02b09bfab50555ff Mon Sep 17 00:00:00 2001 From: Paul Dagnelie Date: Fri, 7 Apr 2017 13:44:08 -0700 Subject: 8020 Fix iostat on the EC2 instances Reviewed by: Matt Ahrens Reviewed by: Dan Kimmel Reviewed by: Robert Mustacchi Approved by: Dan McDonald --- usr/src/uts/common/xen/io/xdf.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'usr/src') diff --git a/usr/src/uts/common/xen/io/xdf.c b/usr/src/uts/common/xen/io/xdf.c index 4a71be3341..40404317ae 100644 --- a/usr/src/uts/common/xen/io/xdf.c +++ b/usr/src/uts/common/xen/io/xdf.c @@ -638,11 +638,20 @@ xdf_kstat_exit(xdf_t *vdp, buf_t *bp) if (vdp->xdf_xdev_iostat == NULL) return; + if ((vreq != NULL) && vreq->v_runq) { kstat_runq_exit(KSTAT_IO_PTR(vdp->xdf_xdev_iostat)); } else { kstat_waitq_exit(KSTAT_IO_PTR(vdp->xdf_xdev_iostat)); } + + if (bp->b_flags & B_READ) { + KSTAT_IO_PTR(vdp->xdf_xdev_iostat)->reads++; + KSTAT_IO_PTR(vdp->xdf_xdev_iostat)->nread += bp->b_bcount; + } else if (bp->b_flags & B_WRITE) { + KSTAT_IO_PTR(vdp->xdf_xdev_iostat)->writes++; + KSTAT_IO_PTR(vdp->xdf_xdev_iostat)->nwritten += bp->b_bcount; + } } static void @@ -3364,7 +3373,7 @@ xdf_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) HVMPV_XDF_VERS)) cmn_err(CE_WARN, "xdf: couldn't write version\n"); -#else /* !XPV_HVM_DRIVER */ +#endif /* XPV_HVM_DRIVER */ /* create kstat for iostat(1M) */ if (xdf_kstat_create(dip, "xdf", instance) != 0) { @@ -3373,7 +3382,6 @@ xdf_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) goto errout1; } -#endif /* !XPV_HVM_DRIVER */ ddi_report_dev(dip); DPRINTF(DDI_DBG, ("xdf@%s: attached\n", vdp->xdf_addr)); -- cgit v1.2.3