[PATCH v2 1/1] nvme: use macro definitions for setting reservation values

Max Gurtovoy mgurtovoy at nvidia.com
Sat Oct 29 17:35:32 PDT 2022


On 10/28/2022 11:31 AM, Christoph Hellwig wrote:
> On Tue, Oct 25, 2022 at 05:09:21PM -0600, Keith Busch wrote:
>> As far as naming them goes, if the only usage is its definition, then
>> what's the point? If there's a use for a named enum somewhere else, then
>> yah, that improves readability.
> I think it is nice bit of documentation.  E.g. if the enum is for the
> bits or value in a nvme filed naming it after that field can be handy.

I also preferred my V1 with more documentation but was asked to remove it:

+/*
+ * Reservation Type Encoding
+ */
+enum {
+       NVME_PR_WRITE_EXCLUSIVE = 1, /* Write Exclusive Reservation */
+       NVME_PR_EXCLUSIVE_ACCESS = 2, /* Exclusive Access Reservation */
+       NVME_PR_WRITE_EXCLUSIVE_REG_ONLY = 3, /* Write Exclusive - 
Registrants Only Reservation */
+       NVME_PR_EXCLUSIVE_ACCESS_REG_ONLY = 4, /* Exclusive Access - 
Registrants Only Reservation */
+       NVME_PR_WRITE_EXCLUSIVE_ALL_REGS = 5, /* Write Exclusive - All 
Registrants Reservation */
+       NVME_PR_EXCLUSIVE_ACCESS_ALL_REGS = 6, /* Exclusive Access - All 
Registrants Reservation */
+};

regarding the naming of the enum I tend to agree that this is not a must 
here since this is currently the style of this header and since we use 
only its internal definitions.

So I'm ok we both v1 and v2.

We can do some work to improve the confusing enums in nvme.h but we need 
to agree on the strategy before we go implement.




More information about the Linux-nvme mailing list