Thread (38 messages) 38 messages, 8 authors, 2020-06-29

Re: [PATCHv3 3/5] nvme: implement I/O Command Sets Command Set support

From: Niklas Cassel <hidden>
Date: 2020-06-23 09:20:41

On Tue, Jun 23, 2020 at 08:20:23AM +0200, Hannes Reinecke wrote:
On 6/22/20 6:25 PM, Keith Busch wrote:
quoted
From: Niklas Cassel <redacted>

Implements support for the I/O Command Sets command set. The command set
introduces a method to enumerate multiple command sets per namespace. If
the command set is exposed, this method for enumeration will be used
instead of the traditional method that uses the CC.CSS register command
set register for command set identification.

For namespaces where the Command Set Identifier is not supported or
recognized, the specific namespace will not be created.

Reviewed-by: Javier González <redacted>
Reviewed-by: Martin K. Petersen <martin.petersen@oracle.com>
Reviewed-by: Johannes Thumshirn <redacted>
Reviewed-by: Matias Bjørling <redacted>
Reviewed-by: Daniel Wagner <redacted>
Signed-off-by: Niklas Cassel <redacted>
---
@@ -1792,7 +1811,7 @@ static int nvme_report_ns_ids(struct nvme_ctrl *ctrl, unsigned int nsid,
  		memcpy(ids->eui64, id->eui64, sizeof(id->eui64));
  	if (ctrl->vs >= NVME_VS(1, 2, 0))
  		memcpy(ids->nguid, id->nguid, sizeof(id->nguid));
-	if (ctrl->vs >= NVME_VS(1, 3, 0))
+	if (ctrl->vs >= NVME_VS(1, 3, 0) || nvme_multi_css(ctrl))
  		return nvme_identify_ns_descs(ctrl, nsid, ids);
  	return 0;
  }
Hmm? Are command sets even defined for something earlier than 1.3?
According to Keith, usually new features are not really tied to a
specific NVMe version.

So if someone implements/enables multiple command sets feature on
an older base spec of NVMe, we still want to support/allow that.


Kind regards,
Niklas
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help