svn commit: r361625 - in head: sys/cam/ctl usr.sbin/ctladm
Alexander Motin
mav at FreeBSD.org
Fri May 29 13:07:53 UTC 2020
Author: mav
Date: Fri May 29 13:07:52 2020
New Revision: 361625
URL: https://svnweb.freebsd.org/changeset/base/361625
Log:
Report STATUS_QUEUED/SENT in `ctladm dumpooa` output.
MFC after: 2 weeks
Sponsored by: iXsystems, Inc.
Modified:
head/sys/cam/ctl/ctl.c
head/sys/cam/ctl/ctl_ioctl.h
head/usr.sbin/ctladm/ctladm.c
Modified: head/sys/cam/ctl/ctl.c
==============================================================================
--- head/sys/cam/ctl/ctl.c Fri May 29 10:37:42 2020 (r361624)
+++ head/sys/cam/ctl/ctl.c Fri May 29 13:07:52 2020 (r361625)
@@ -2433,6 +2433,12 @@ ctl_ioctl_fill_ooa(struct ctl_lun *lun, uint32_t *cur_
if (io->io_hdr.flags & CTL_FLAG_DMA_QUEUED)
entry->cmd_flags |= CTL_OOACMD_FLAG_DMA_QUEUED;
+
+ if (io->io_hdr.flags & CTL_FLAG_STATUS_QUEUED)
+ entry->cmd_flags |= CTL_OOACMD_FLAG_STATUS_QUEUED;
+
+ if (io->io_hdr.flags & CTL_FLAG_STATUS_SENT)
+ entry->cmd_flags |= CTL_OOACMD_FLAG_STATUS_SENT;
}
mtx_unlock(&lun->lun_lock);
}
Modified: head/sys/cam/ctl/ctl_ioctl.h
==============================================================================
--- head/sys/cam/ctl/ctl_ioctl.h Fri May 29 10:37:42 2020 (r361624)
+++ head/sys/cam/ctl/ctl_ioctl.h Fri May 29 13:07:52 2020 (r361625)
@@ -247,7 +247,9 @@ typedef enum {
CTL_OOACMD_FLAG_BLOCKED = 0x02,
CTL_OOACMD_FLAG_ABORT = 0x04,
CTL_OOACMD_FLAG_RTR = 0x08,
- CTL_OOACMD_FLAG_DMA_QUEUED = 0x10
+ CTL_OOACMD_FLAG_DMA_QUEUED = 0x10,
+ CTL_OOACMD_FLAG_STATUS_QUEUED = 0x20,
+ CTL_OOACMD_FLAG_STATUS_SENT = 0x40
} ctl_ooa_cmd_flags;
struct ctl_ooa_entry {
Modified: head/usr.sbin/ctladm/ctladm.c
==============================================================================
--- head/usr.sbin/ctladm/ctladm.c Fri May 29 10:37:42 2020 (r361624)
+++ head/usr.sbin/ctladm/ctladm.c Fri May 29 13:07:52 2020 (r361625)
@@ -336,17 +336,20 @@ retry:
if (ts.tv_nsec > 0)
cmd_latency += ts.tv_nsec / 1000000;
- fprintf(stdout, "LUN %jd tag 0x%04x%s%s%s%s%s: %s. CDB: %s "
+ fprintf(stdout, "LUN %jd tag 0x%04x%s%s%s%s%s%s%s: %s. CDB: %s "
"(%0.0Lf ms)\n",
(intmax_t)entry->lun_num, entry->tag_num,
(entry->cmd_flags & CTL_OOACMD_FLAG_BLOCKED) ?
" BLOCKED" : "",
- (entry->cmd_flags & CTL_OOACMD_FLAG_DMA) ? " DMA" : "",
+ (entry->cmd_flags & CTL_OOACMD_FLAG_RTR) ? " RTR" :"",
(entry->cmd_flags & CTL_OOACMD_FLAG_DMA_QUEUED) ?
" DMAQUEUED" : "",
+ (entry->cmd_flags & CTL_OOACMD_FLAG_DMA) ? " DMA" : "",
+ (entry->cmd_flags & CTL_OOACMD_FLAG_STATUS_QUEUED) ?
+ " STATUSQUEUED" : "",
+ (entry->cmd_flags & CTL_OOACMD_FLAG_STATUS_SENT) ? " STATUS" : "",
(entry->cmd_flags & CTL_OOACMD_FLAG_ABORT) ?
" ABORT" : "",
- (entry->cmd_flags & CTL_OOACMD_FLAG_RTR) ? " RTR" :"",
scsi_op_desc(entry->cdb[0], NULL),
scsi_cdb_string(entry->cdb, cdb_str, sizeof(cdb_str)),
cmd_latency);
More information about the svn-src-all
mailing list