Re: [PATCH RFC 03/11] nvmet: Add nvmet_fabrics_ops flag to indicate SGLs not supported

Christoph Hellwig
2025-03-13T09:13:54Z

On Thu, Mar 13, 2025 at 06:02:29PM +0900, Damien Le Moal wrote:
> On 3/13/25 14:18, Mike Christie wrote:
> > The nvmet_mdev_pci driver does not initially support SGLs. In some
> > prelim testing I don't think there will be a perf gain (the virt related
> > interface may be the major bottleneck so I may not notice) so I wasn't
> > sure if they will be required/needed. This adds a nvmet_fabrics_ops flag
> > so we can tell nvmet core to tell the host we do not supports SGLS.
>
> That is a major spec violation as NVMe fabrics mandates SGL support.

But this is a PCIe controller implementation, not fabrics.

Fabrics does not support PRPs and has very different SGLs from the
PCIe ones. The fact that the spec conflates those in very confusing
ways is one of the big mistakes in the spec.