On 02/03/2026 12:48, Nilay Shroff wrote:
+void nvme_mpath_add_ns(struct nvme_ns *ns)
+{
+    struct nvme_ns_head *head = ns->head;
+    struct mpath_disk *mpath_disk = head->mpath_disk;
+    struct mpath_head *mpath_head;
+
+    if (!mpath_disk)
+        return;
+
+    mpath_head = mpath_disk->mpath_head;
+
+    ns->mpath_device.disk = ns->disk;
+    mpath_add_device(mpath_head, &ns->mpath_device);
+}

As we have now reference to mpath_device from struct nvme_ns
then why do we still maintain reference to ns->disk? We may
want to directly access path device disk using ns->mpath_device.disk,
makes sense?

For !CONFIG_NVME_MULTIPATH or !multipath mod param set, mpath_device is not properly maintained, so I would rather not use it in the core code.

Thanks,
John

Reply via email to