On Wed, Jun 24, 2020 at 10:46:03AM -0700, Sagi Grimberg wrote: > On 6/24/20 10:25 AM, Keith Busch wrote: > > On Tue, Jun 23, 2020 at 04:17:30PM -0700, Sagi Grimberg wrote: > > And what if it is a DNR error? For example, the controller simply > > doesn't support this CNS value. While the controller should support it, > > we definitely don't need it for NVM command set namespaces. > > Maybe I mis-undersatnd the comment, but if you see a DNR error, it means > that the controller replied an error and its final, so then you can have > extra checks. If the controller does not support the CNS value, it may return Invalid Field with DNR set. That error currently gets propogated back to nvme_init_ns_head(), which then abandons the namespace. Just as the code coments say, we had been historically been clearing such errors because we have other ways to identify the namespace, but now we're not clearing that error.