Re: [PATCH 1/2] lightnvm: add generic ocssd detection

From: Matias BjÃrling
Date: Sat Feb 25 2017 - 14:18:18 EST


On 02/25/2017 07:21 PM, Christoph Hellwig wrote:
On Fri, Feb 24, 2017 at 06:16:48PM +0100, Matias Bjørling wrote:
More implementations of OCSSDs are becoming available. Adding each using
pci ids are becoming a hassle. Instead, use a 16 byte string in the
vendor-specific area of the identification command to identify an
Open-Channel SSD.

The large string should make the collision probability with other
vendor-specific strings to be near nil.

No way in hell. vs is vendor specific and we absolutely can't overload
it with any sort of meaning. Get OCSSD support properly standardized and
add a class code for it. Until then it's individual PCI IDs.


You are right, that is the right way to go, and we are working on it. In the meantime, there are a couple of reasons I want to do a pragmatic solution:

1. Enabling open-channel SSDs on NVMeoF. Customers are asking to use OCSSDs with NVMoeF. I do not think detection of PCI ids works with that.

2. Some vendors are circumventing the OCSSD detection by utilizing the CNEX Labs PCI ids. That is not very helpful and shows that there is a need for a generic approach. When they become public and will use their PCI id (if they will do that...), it is cumbersome to backport their PCI ids back to previous kernel versions to detect support.

3. Things are not a technical issue for why this is not adopted today. It will be soon enough one way or another, but until then, a pragmatic approach would go a long way.

If identify VS is too specific, is there another combination that solves the above in a generic and practical way that would satisfy you and the above?

-Matias