HomeFreeBSD

Fix NVMe's use of XPT_GDEV_TYPE

Description

Fix NVMe's use of XPT_GDEV_TYPE

This patch changes the way XPT_GDEV_TYPE works for NVMe. The current
ccb_getdev structure includes pointers to the NVMe Identify Controller
and Namespace structures, but these are kernel virtual addresses which
are not accessible from user space.

As an alternative, the patch changes the pointers into padding in
ccb_getdev and adds two new types to ccb_dev_advinfo to retrieve the
Identify Controller (CDAI_TYPE_NVME_CNTRL) and Namespace
(CDAI_TYPE_NVME_NS) data structures.

Reviewed By: rpokala, imp
Differential Revision: https://reviews.freebsd.org/D10466
Submitted by: Chuck Tuffli

Details

Provenance
impAuthored on
Reviewer
rpokala
Differential Revision
D10466: Fix NVMe's use of XPT_GDEV_TYPE
Parents
rS322998: Fix a few overlooked spots where the coded uses 16-bit NSIDs. Chuck
Branches
Unknown
Tags
Unknown