[PATCH] nvme: simplify stripe quirk

Keith Busch keith.busch at intel.com
Thu Dec 15 07:59:58 PST 2016


On Thu, Dec 15, 2016 at 12:32:36AM -0800, Christoph Hellwig wrote:
> On Wed, Dec 14, 2016 at 07:10:55PM -0500, Keith Busch wrote:
> > Some subsystem vendors believe they own the Identify Controller vendor
> > specific region, and will repurpose it with their own values.
> 
> Well, it's vendor specific, right?

If I'm the vendor and you're the subsystem vendor, who owns the vendor
specific region?
 
> I don't understand this patch at all - you hardcode a value that was
> previously vendor specific, and your argument for that is that the
> vendor specific value is used by the value - heck, that's exactly why
> the value is there.

I'm not sure what you mean. I haven't hard-coded anything. The alignment
requirements on the hardware itself always matches MDTS, so that's what
the patch proposes to use.

The current driver expects ID_CTRL.VS[3] defines the stripe use. However,
a subsystem vendor changes the field to mean something completely
different that has nothing to do with backend striping. We can't trust
how to decode the field just by knowing the VID:DID anymore, and I'm
confident we don't want to add another layer of SVID:SSID checks to know
how to decode quirk.

Instead, I'm simplifying this by exploiting a fact about the hardware. If
you're wondering why we didn't do that in the first place, it's because we
considered making this a changeable property, but that never materialized
and it never will.



More information about the Linux-nvme mailing list