On Fri, Dec 04, 2020 at 03:13:40AM +0000, Chaitanya Kulkarni wrote: > >> + if (!bdev_is_zoned(nvmet_bdev(req))) > >> + return NVME_SC_SUCCESS; > >> + > >> + return nvmet_copy_ns_identifier(req, NVME_NIDT_CSI, NVME_NIDT_CSI_LEN, > >> + &nvme_cis_zns, off); > >> +} > > This looks weird. We can want to support the command set identifier in > > general, so this should go into common code, and just look up the command > > set identifier in the nvmet_ns structure. > > ZNS is the only user for this, so I've added to the zns code. I'll move to > > admin-cmd. CSI is a generic feature, ZNS is just the first thing that requires it. > > This will change the limit when a new namespaces is added. I think we need > > to just pick the value of the first namespaces and refuse adding a new > > one if the limit is lower to not completely break hosts. > > But that will force users to add ns with highest zasl first no matter what. > > Isn't there should be a way to update the host with async event > > so that host can refresh the ctrl->zasl when ns addition async notification > > is generated ? I'd rather not go too dynamic and change capabilities down dynamically. I think that will cause all kinds of fun problems with I/Os already queue up in the block layer while the limit changes.