Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 5 Nov 2024 01:29:07 GMT
From:      John Baldwin <jhb@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Subject:   git: 8922c5b8211e - main - nvmf: Fix an off by one error when scanning active namespace IDs
Message-ID:  <202411050129.4A51T7r3031925@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by jhb:

URL: https://cgit.FreeBSD.org/src/commit/?id=8922c5b8211e5b2f64b10791b51d08d5b7945f56

commit 8922c5b8211e5b2f64b10791b51d08d5b7945f56
Author:     John Baldwin <jhb@FreeBSD.org>
AuthorDate: 2024-11-05 01:27:14 +0000
Commit:     John Baldwin <jhb@FreeBSD.org>
CommitDate: 2024-11-05 01:27:14 +0000

    nvmf: Fix an off by one error when scanning active namespace IDs
    
    The active namespace list query fetches namespaces greater than the
    passed in namespace ID, not greater than or equal to the passed in
    namespace ID.  Thus, a multi-page request should start with the last
    namespace ID from the previous page, not that ID plus 1.
    
    While here, make use of NVME_GLOBAL_NAMESPACE_TAG instead of a magic
    number to handle the edge case that the last namespace ID in a page is
    the largest valid namespace ID.
    
    Reviewed by:    chuck
    Sponsored by:   Chelsio Communications
    Differential Revision:  https://reviews.freebsd.org/D47393
---
 sys/dev/nvmf/host/nvmf.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/sys/dev/nvmf/host/nvmf.c b/sys/dev/nvmf/host/nvmf.c
index 2c438db2eb23..804e7528c931 100644
--- a/sys/dev/nvmf/host/nvmf.c
+++ b/sys/dev/nvmf/host/nvmf.c
@@ -376,10 +376,10 @@ nvmf_scan_active_nslist(struct nvmf_softc *sc, struct nvme_ns_list *nslist,
 
 	MPASS(nsid == nslist->ns[nitems(nslist->ns) - 1] && nsid != 0);
 
-	if (nsid >= 0xfffffffd)
+	if (nsid >= NVME_GLOBAL_NAMESPACE_TAG - 1)
 		*nsidp = 0;
 	else
-		*nsidp = nsid + 1;
+		*nsidp = nsid;
 	return (true);
 }
 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202411050129.4A51T7r3031925>