git: 33383fbf606b - main - nvmf: Add support for DIOCGIDENT

From: John Baldwin <jhb_at_FreeBSD.org>
Date: Mon, 17 Nov 2025 18:28:30 UTC
The branch main has been updated by jhb:

URL: https://cgit.FreeBSD.org/src/commit/?id=33383fbf606be619af0e107106f4f6028c9eab0d

commit 33383fbf606be619af0e107106f4f6028c9eab0d
Author:     John Baldwin <jhb@FreeBSD.org>
AuthorDate: 2025-11-17 18:26:30 +0000
Commit:     John Baldwin <jhb@FreeBSD.org>
CommitDate: 2025-11-17 18:26:30 +0000

    nvmf: Add support for DIOCGIDENT
    
    This mirrors commit 6d0001d44490becdd20d627ce663c72a30b9aac3 but for
    nvmf(4).
    
    Sponsored by:   Chelsio Communications
    Differential Revision:  https://reviews.freebsd.org/D53339
---
 sys/dev/nvmf/host/nvmf.c    | 3 +++
 sys/dev/nvmf/host/nvmf_ns.c | 3 +++
 2 files changed, 6 insertions(+)

diff --git a/sys/dev/nvmf/host/nvmf.c b/sys/dev/nvmf/host/nvmf.c
index d6afdce54709..8ed801524089 100644
--- a/sys/dev/nvmf/host/nvmf.c
+++ b/sys/dev/nvmf/host/nvmf.c
@@ -1237,6 +1237,9 @@ nvmf_ioctl(struct cdev *cdev, u_long cmd, caddr_t arg, int flag,
 	case NVME_GET_CONTROLLER_DATA:
 		memcpy(arg, sc->cdata, sizeof(*sc->cdata));
 		return (0);
+	case DIOCGIDENT:
+		nvme_cdata_get_disk_ident(sc->cdata, (uint8_t *)arg);
+		return (0);
 	case NVMF_RECONNECT_PARAMS:
 		nv = (struct nvmf_ioc_nv *)arg;
 		return (nvmf_reconnect_params(sc, nv));
diff --git a/sys/dev/nvmf/host/nvmf_ns.c b/sys/dev/nvmf/host/nvmf_ns.c
index 4215c8295d2e..d57280e19d41 100644
--- a/sys/dev/nvmf/host/nvmf_ns.c
+++ b/sys/dev/nvmf/host/nvmf_ns.c
@@ -278,6 +278,9 @@ nvmf_ns_ioctl(struct cdev *dev, u_long cmd, caddr_t arg, int flag,
 		    sizeof(gnsid->cdev));
 		gnsid->nsid = ns->id;
 		return (0);
+	case DIOCGIDENT:
+		nvme_cdata_get_disk_ident(ns->sc->cdata, (uint8_t *)arg);
+		return (0);
 	case DIOCGMEDIASIZE:
 		*(off_t *)arg = ns->size;
 		return (0);