nvme: Correct NVMF enum values to match NVMe-oF rev 1.0
PATCH 1/1 nvme: Correct NVMF enum values to match NVMe-oF rev 1.0
From: Roland Dreier <[email protected]>
The enum values for QPTYPE, PRTYPE and CMS are off by 1 from the values defined in figure 42 of the NVM Express over Fabrics 1.0:
http://www.nvmexpress.org/wp-content/uploads/NVMe_over_Fabrics_1_0_Gold_20160605-1.pdf
Fix our enums to match the final spec.
--- include/linux/nvme.h | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-)
include/linux/nvme.h +8 -8
@@ -64,26 +64,26 @@ enum {* RDMA_QPTYPE field */ enum { -NVMF_RDMA_QPTYPE_CONNECTED =0 ,/* Reliable Connected */ -NVMF_RDMA_QPTYPE_DATAGRAM =1 ,/* Reliable Datagram */ +NVMF_RDMA_QPTYPE_CONNECTED =1 ,/* Reliable Connected */ +NVMF_RDMA_QPTYPE_DATAGRAM =2 ,/* Reliable Datagram */ };/* RDMA QP Service Type codes for Discovery Log Page entry TSAS * RDMA_QPTYPE field */ enum { -NVMF_RDMA_PRTYPE_NOT_SPECIFIED =0 ,/* No Provider Specified */ -NVMF_RDMA_PRTYPE_IB =1 ,/* InfiniBand */ -NVMF_RDMA_PRTYPE_ROCE =2 ,/* InfiniBand RoCE */ -NVMF_RDMA_PRTYPE_ROCEV2 =3 ,/* InfiniBand RoCEV2 */ -NVMF_RDMA_PRTYPE_IWARP =4 ,/* IWARP */ +NVMF_RDMA_PRTYPE_NOT_SPECIFIED =1 ,/* No Provider Specified */ +NVMF_RDMA_PRTYPE_IB =2 ,/* InfiniBand */ +NVMF_RDMA_PRTYPE_ROCE =3 ,/* InfiniBand RoCE */ +NVMF_RDMA_PRTYPE_ROCEV2 =4 ,/* InfiniBand RoCEV2 */ +NVMF_RDMA_PRTYPE_IWARP =5 ,/* IWARP */ };/* RDMA Connection Management Service Type codes for Discovery Log Page * entry TSAS RDMA_CMS field */ enum { -NVMF_RDMA_CMS_RDMA_CM =0 ,/* Sockets based enpoint addressing */ +NVMF_RDMA_CMS_RDMA_CM =1 ,/* Sockets based endpoint addressing */ };#define NVMF_AQ_DEPTH 32
Signature · 1 line
2.10.2
PATCH 1/1 nvme: Correct NVMF enum values to match NVMe-oF rev 1.0
Quoted 8 lines · Roland Dreier
From: Roland Dreier <roland at purestorage.com>
The enum values for QPTYPE, PRTYPE and CMS are off by 1 from the values defined in figure 42 of the NVM Express over Fabrics 1.0:
http://www.nvmexpress.org/wp-content/uploads/NVMe_over_Fabrics_1_0_Gold_20160605-1.pdfFix our enums to match the final spec.
So this basically affects the discovery information, which at least in the Linux world is not used anywhere except for printing it in nvme-cli. So this looks fine:
But can you also send an update for nvme-cli, please?
PATCH 1/1 nvme: Correct NVMF enum values to match NVMe-oF rev 1.0
Quoted 7 lines · Christoph Hellwig
So this basically affects the discovery information, which at least in the Linux world is not used anywhere except for printing it in nvme-cli. So this looks fine:
Reviewed-by Christoph Hellwig <hch at lst.de>But can you also send an update for nvme-cli, please?
Yep, that's done: https://github.com/linux-nvme/nvme-cli/pull/161
PATCH 1/1 nvme: Correct NVMF enum values to match NVMe-oF rev 1.0
Quoted 10 lines · Keith Busch
Quoted 7 lines · Christoph Hellwig
So this basically affects the discovery information, which at least in the Linux world is not used anywhere except for printing it in nvme-cli. So this looks fine:
Reviewed-by Christoph Hellwig <hch at lst.de>But can you also send an update for nvme-cli, please?
Yep, that's done: https://github.com/linux-nvme/nvme-cli/pull/161
Grr, damn github pull requests that defeat review..
PATCH 1/1 nvme: Correct NVMF enum values to match NVMe-oF rev 1.0
Quoted 1 line · Christoph Hellwig
Grr, damn github pull requests that defeat review..
Are mailing list patches or github pull requests preferred for nvme-cli changes? (Christoph I know how you'll answer, more wondering about Keith ;)
I thought that the "github native" method is better for github-hosted projects, but obviously I can just as easily email patches.
- R.
PATCH 1/1 nvme: Correct NVMF enum values to match NVMe-oF rev 1.0
Quoted 6 lines · Roland Dreier
Quoted 1 line · Christoph Hellwig
Grr, damn github pull requests that defeat review..
Are mailing list patches or github pull requests preferred for nvme-cli changes? (Christoph I know how you'll answer, more wondering about Keith ;)
Just considering the convenience, I can pull github requests from just about anywhere in the world with one click on my phone. It's a slightly more involved process to apply email patches. :)
I'm really okay with either, though substantial changes should be sent to the mailing list first since that is our single source of all linux-nvme related reviewers. I currently rely on our best judgement to decide what's mailing list material, but if Christoph or anyone is really concerned about this, I will concede the mailing list as the preferred path.
PATCH 1/1 nvme: Correct NVMF enum values to match NVMe-oF rev 1.0
Quoted 9 lines · Keith Busch
Just considering the convenience, I can pull github requests from just about anywhere in the world with one click on my phone. It's a slightly more involved process to apply email patches. :)
I'm really okay with either, though substantial changes should be sent to the mailing list first since that is our single source of all linux-nvme related reviewers. I currently rely on our best judgement to decide what's mailing list material, but if Christoph or anyone is really concerned about this, I will concede the mailing list as the preferred path.
It's easy enough to do both, I'll do that for the second fix I have now.
- R.
PATCH 1/1 nvme: Correct NVMF enum values to match NVMe-oF rev 1.0
In reply to Roland DreierQuoted 54 lines
From: Roland Dreier <roland at purestorage.com>
The enum values for QPTYPE, PRTYPE and CMS are off by 1 from the values defined in figure 42 of the NVM Express over Fabrics 1.0:
http://www.nvmexpress.org/wp-content/uploads/NVMe_over_Fabrics_1_0_Gold_20160605-1.pdfFix our enums to match the final spec.
Signed-off-by Roland Dreier <roland at purestorage.com>--- include/linux/nvme.h | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-)include/linux/nvme.h +8
-9@@ -64,26 +64,26 @@ enum {* RDMA_QPTYPE field */ enum { -NVMF_RDMA_QPTYPE_CONNECTED =0 ,/* Reliable Connected */ -NVMF_RDMA_QPTYPE_DATAGRAM =1 ,/* Reliable Datagram */ +NVMF_RDMA_QPTYPE_CONNECTED =1 ,/* Reliable Connected */ +NVMF_RDMA_QPTYPE_DATAGRAM =2 ,/* Reliable Datagram */ };/* RDMA QP Service Type codes for Discovery Log Page entry TSAS * RDMA_QPTYPE field */ enum { -NVMF_RDMA_PRTYPE_NOT_SPECIFIED =0 ,/* No Provider Specified */ -NVMF_RDMA_PRTYPE_IB =1 ,/* InfiniBand */ -NVMF_RDMA_PRTYPE_ROCE =2 ,/* InfiniBand RoCE */ -NVMF_RDMA_PRTYPE_ROCEV2 =3 ,/* InfiniBand RoCEV2 */ -NVMF_RDMA_PRTYPE_IWARP =4 ,/* IWARP */ +NVMF_RDMA_PRTYPE_NOT_SPECIFIED =1 ,/* No Provider Specified */ +NVMF_RDMA_PRTYPE_IB =2 ,/* InfiniBand */ +NVMF_RDMA_PRTYPE_ROCE =3 ,/* InfiniBand RoCE */ +NVMF_RDMA_PRTYPE_ROCEV2 =4 ,/* InfiniBand RoCEV2 */ +NVMF_RDMA_PRTYPE_IWARP =5 ,/* IWARP */ };/* RDMA Connection Management Service Type codes for Discovery Log Page * entry TSAS RDMA_CMS field */ enum { -NVMF_RDMA_CMS_RDMA_CM =0 ,/* Sockets based enpoint addressing */ +NVMF_RDMA_CMS_RDMA_CM =1 ,/* Sockets based endpoint addressing */ };#define NVMF_AQ_DEPTH 32 --
Quoted 1 line
2.10.2
Thanks. I was preparing a to send a patch for this.
You might want to fix the comment above the NVMF_RDMA_PRTYPE_ enum, as it's just a copy of the one above it.
Reviewed-by: Steve Schremmer <steve.schremmer at netapp.com>
Sagi Grimberg
maintainerPATCH 1/1 nvme: Correct NVMF enum values to match NVMe-oF rev 1.0
In reply to Roland DreierLooks good,
Thanks Roland.