aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Baldwin <jhb@FreeBSD.org>2025-11-17 18:26:30 +0000
committerJohn Baldwin <jhb@FreeBSD.org>2025-11-17 18:26:30 +0000
commit33383fbf606be619af0e107106f4f6028c9eab0d (patch)
treeb4347df6cf32548179e30cff4819ca48d0ff4349
parent8d2a50bb38051fefeb1427fdbfd249f2829310d8 (diff)
nvmf: Add support for DIOCGIDENT
This mirrors commit 6d0001d44490becdd20d627ce663c72a30b9aac3 but for nvmf(4). Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D53339
-rw-r--r--sys/dev/nvmf/host/nvmf.c3
-rw-r--r--sys/dev/nvmf/host/nvmf_ns.c3
2 files changed, 6 insertions, 0 deletions
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);