On Tue, Jun 23, 2020 at 08:20:23AM +0200, Hannes Reinecke wrote: > On 6/22/20 6:25 PM, Keith Busch wrote: > > From: Niklas Cassel <niklas.cassel@xxxxxxx> > > > > 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 <javier.gonz@xxxxxxxxxxx> > > Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> > > Reviewed-by: Johannes Thumshirn <johannes.thumshirn@xxxxxxx> > > Reviewed-by: Matias Bjørling <matias.bjorling@xxxxxxx> > > Reviewed-by: Daniel Wagner <dwagner@xxxxxxx> > > Signed-off-by: Niklas Cassel <niklas.cassel@xxxxxxx> > > --- > > @@ -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