[PATCH] nvme-core: decode the error on add disk()

Chaitanya Kulkarni kch at nvidia.com
Thu Jan 16 12:15:27 PST 2025


While debugging the problem, it is important to know that what exact
error returned by device_add_disk() along side the disk name. Print
the error along with disk name when device_add_disk() fails when
allocating the namespace.

Signed-off-by: Chaitanya Kulkarni <kch at nvidia.com>
---
 drivers/nvme/host/core.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/drivers/nvme/host/core.c b/drivers/nvme/host/core.c
index 2a0555856795..0be42f9b86b5 100644
--- a/drivers/nvme/host/core.c
+++ b/drivers/nvme/host/core.c
@@ -3868,6 +3868,7 @@ static void nvme_alloc_ns(struct nvme_ctrl *ctrl, struct nvme_ns_info *info)
 	struct nvme_ns *ns;
 	struct gendisk *disk;
 	int node = ctrl->numa_node;
+	int rc;
 
 	ns = kzalloc_node(sizeof(*ns), GFP_KERNEL, node);
 	if (!ns)
@@ -3933,8 +3934,12 @@ static void nvme_alloc_ns(struct nvme_ctrl *ctrl, struct nvme_ns_info *info)
 	synchronize_srcu(&ctrl->srcu);
 	nvme_get_ctrl(ctrl);
 
-	if (device_add_disk(ctrl->device, ns->disk, nvme_ns_attr_groups))
+	rc = device_add_disk(ctrl->device, ns->disk, nvme_ns_attr_groups);
+	if (rc) {
+		dev_err(ctrl->device, "%s:failed to add disk %d:%s\n",
+			__func__, rc, disk->disk_name);
 		goto out_cleanup_ns_from_list;
+	}
 
 	if (!nvme_ns_head_multipath(ns->head))
 		nvme_add_ns_cdev(ns);
-- 
2.40.0




More information about the Linux-nvme mailing list