git: af296130eadb - main - nvme_xpt: Tidy nvme_announce_periph for fabrics support.
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 27 Jun 2023 03:38:31 UTC
The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=af296130eadbad541d57717719d87bec43353e18 commit af296130eadbad541d57717719d87bec43353e18 Author: John Baldwin <jhb@FreeBSD.org> AuthorDate: 2023-06-27 03:37:43 +0000 Commit: John Baldwin <jhb@FreeBSD.org> CommitDate: 2023-06-27 03:37:43 +0000 nvme_xpt: Tidy nvme_announce_periph for fabrics support. - Read the version from cts.protocol_version. - Only check xport_specific.nvme for PCI-e info for XPORT_NVME. Reviewed by: chuck, imp Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D40618 --- sys/cam/nvme/nvme_xpt.c | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/sys/cam/nvme/nvme_xpt.c b/sys/cam/nvme/nvme_xpt.c index 0575c5220c0b..f1bcd581a096 100644 --- a/sys/cam/nvme/nvme_xpt.c +++ b/sys/cam/nvme/nvme_xpt.c @@ -802,19 +802,22 @@ nvme_announce_periph(struct cam_periph *periph) xpt_action((union ccb*)&cts); if ((cts.ccb_h.status & CAM_STATUS_MASK) != CAM_REQ_CMP) return; - nvmex = &cts.xport_specific.nvme; /* Ask the SIM for its base transfer speed */ xpt_path_inq(&cpi, periph->path); sbuf_new(&sb, buffer, sizeof(buffer), SBUF_FIXEDLEN); sbuf_printf(&sb, "%s%d: nvme version %d.%d", periph->periph_name, periph->unit_number, - NVME_MAJOR(nvmex->spec), - NVME_MINOR(nvmex->spec)); - if (nvmex->valid & CTS_NVME_VALID_LINK) - sbuf_printf(&sb, " x%d (max x%d) lanes PCIe Gen%d (max Gen%d) link", - nvmex->lanes, nvmex->max_lanes, - nvmex->speed, nvmex->max_speed); + NVME_MAJOR(cts.protocol_version), + NVME_MINOR(cts.protocol_version)); + if (cts.transport == XPORT_NVME) { + nvmex = &cts.proto_specific.nvme; + if (nvmex->valid & CTS_NVME_VALID_LINK) + sbuf_printf(&sb, + " x%d (max x%d) lanes PCIe Gen%d (max Gen%d) link", + nvmex->lanes, nvmex->max_lanes, + nvmex->speed, nvmex->max_speed); + } sbuf_printf(&sb, "\n"); sbuf_finish(&sb); sbuf_putbuf(&sb);