On 09/09/2016 11:03 AM, Walker, Benjamin wrote:
Currently we have no mechanism for adding device-specific quirks to
SPDK NVMe driver. We'd certainly consider adding quirks in the same
fashion as the Linux kernel driver though, and would welcome patches
that improved the applicability of SPDK to a wider range of (potentially
out of spec) devices. I'm sure over time the team at Intel working on
SPDK will add this, but it is not on our immediate roadmap, so patches
from the community would be the best way to get this going.
The SPDK NVMe driver does have a quirk system that is currently used
only for Intel-specific quirks (see lib/nvme/nvme_intel.c); however, the
structure used just matches against a PCI device ID in a generic way, so
we should be able to extend this for use with other devices.
I think the ideal first patch to add such a quirk would be to rename the
nvme_intel file and structures to be generic. Then we could add new
quirk flags to describe whatever non-spec-compliant behavior is required
to make these devices work.