From 36e9b4c50465c0e19a8aa6f58e91eadda0450c9f Mon Sep 17 00:00:00 2001 From: Tokunori Ikegami Date: Sun, 22 Feb 2026 18:12:20 +0900 Subject: [PATCH] libnvme/linux: allow /dev/ngX device as character device Previously the nvmeX device name id and ns was not checked. But currently those checked as if the device character or block. Therefore add to check the ngX device name as the character device. Signed-off-by: Tokunori Ikegami --- libnvme/src/nvme/linux.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/libnvme/src/nvme/linux.c b/libnvme/src/nvme/linux.c index b33811f8bc..a4f0bb2b9e 100644 --- a/libnvme/src/nvme/linux.c +++ b/libnvme/src/nvme/linux.c @@ -85,14 +85,15 @@ static int __nvme_transport_handle_open_direct(struct nvme_transport_handle *hdl _cleanup_free_ char *path = NULL; char *name = basename(devname); int ret, id, ns; - bool c; + bool c = true; hdl->type = NVME_TRANSPORT_HANDLE_TYPE_DIRECT; ret = sscanf(name, "nvme%dn%d", &id, &ns); - if (ret != 1 && ret != 2) + if (ret == 2) + c = false; + else if (ret != 1 && sscanf(name, "ng%dn%d", &id, &ns) != 2) return -EINVAL; - c = ret == 1; ret = asprintf(&path, "%s/%s", "/dev", name); if (ret < 0)