On Wed, Oct 09, 2024 at 08:56:32AM -0600, Keith Busch wrote: > On Wed, Oct 09, 2024 at 09:46:11AM +0200, Christoph Hellwig wrote: > > On Tue, Oct 08, 2024 at 04:55:02PM +0200, Matias Bjørling wrote: > > > However, the independent namespace data structure > > > is mandatory for devices that implement features from the 2.0+ > > > specification. Therefore, we can check this data structure first. If > > > unavailable, retrieve the generic attributes from the NVM command set > > > identify namespace data structure. > > > > I'm not a huge fan of this. For pre-2.0 controllers this means > > we'll now send a command that will fail most of them time. And for > > all the cheap low-end consumer device I'm actually worried that they'll > > get it wrong and break something. > > We already send identify commands that we expect may break on pre-2.0 > controllers: the Identify NS Descriptor List. Identify NS Descriptor List is mandatory starting with NVMe 1.3. We only issue it for 1.3 or if the controller advertises supporting multiple command sets.