All of lore.kernel.org
 help / color / mirror / Atom feed
* NVMe Target implementation question
       [not found] <CGME20261109110115exchanged5526bf8ab18484e9646fda8aa765aa6@eucas1p1.samsung.com>
@ 2026-11-09 11:01 ` James Swaro
  0 siblings, 0 replies; only message in thread
From: James Swaro @ 2026-11-09 11:01 UTC (permalink / raw)
  To: linux-nvme@lists.infradead.org; +Cc: Karl Bonde Torp, os@safl.dk

Hi everyone,

I'm writing an NVMe initiator implementation and noticed an oddity in the kernel target implementation. When initializing a request structure in the target for a received message (drivers/nvme/target/core.c:966), the driver is checking whether the flags are set to SGL_METABUF and returning an error if it isn't set to SGL_METABUF. This seems to be incorrect according to the specification, so I wanted to get clarification here first. 

According to the NVMe 2.4 Base Specification, section 6.5 & 6.6 (Property semantics), byte 1 containing the PDST/flags is supposed to be cleared to 0h. When clearing that byte on the initiator, this causes the target to return with an invalid command and DNR=1. Is this a case of legacy behavior being preserved from older specifications? Is there some part of the specification which contradicts this that I missed?

Kind regards,
James Swaro
Samsung SDS



^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2026-11-09 17:04 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <CGME20261109110115exchanged5526bf8ab18484e9646fda8aa765aa6@eucas1p1.samsung.com>
2026-11-09 11:01 ` NVMe Target implementation question James Swaro

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.