nvme-multipath: refactor nvme_mpath_add_disk
authorJoel Granados <j.granados@samsung.com>
Tue, 28 Jun 2022 19:10:15 +0000 (21:10 +0200)
committerJens Axboe <axboe@kernel.dk>
Tue, 2 Aug 2022 23:22:41 +0000 (17:22 -0600)
Pass anagrpid as second argument. This is prep patch that allows reusing
this function for supporting unknown command sets.

Signed-off-by: Joel Granados <j.granados@samsung.com>
Signed-off-by: Kanchan Joshi <joshi.k@samsung.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
drivers/nvme/host/core.c
drivers/nvme/host/multipath.c
drivers/nvme/host/nvme.h

index 4aa869e..11304fd 100644 (file)
@@ -4167,7 +4167,7 @@ static void nvme_alloc_ns(struct nvme_ctrl *ctrl, unsigned nsid,
        if (!nvme_ns_head_multipath(ns->head))
                nvme_add_ns_cdev(ns);
 
-       nvme_mpath_add_disk(ns, id);
+       nvme_mpath_add_disk(ns, id->anagrpid);
        nvme_fault_inject_init(&ns->fault_inject, ns->disk->disk_name);
        kfree(id);
 
index f26640c..a223838 100644 (file)
@@ -800,16 +800,16 @@ static int nvme_lookup_ana_group_desc(struct nvme_ctrl *ctrl,
        return -ENXIO; /* just break out of the loop */
 }
 
-void nvme_mpath_add_disk(struct nvme_ns *ns, struct nvme_id_ns *id)
+void nvme_mpath_add_disk(struct nvme_ns *ns, __le32 anagrpid)
 {
        if (nvme_ctrl_use_ana(ns->ctrl)) {
                struct nvme_ana_group_desc desc = {
-                       .grpid = id->anagrpid,
+                       .grpid = anagrpid,
                        .state = 0,
                };
 
                mutex_lock(&ns->ctrl->ana_lock);
-               ns->ana_grpid = le32_to_cpu(id->anagrpid);
+               ns->ana_grpid = le32_to_cpu(anagrpid);
                nvme_parse_ana_log(ns->ctrl, &desc, nvme_lookup_ana_group_desc);
                mutex_unlock(&ns->ctrl->ana_lock);
                if (desc.state) {
index 85929d7..bdc0ff7 100644 (file)
@@ -846,7 +846,7 @@ void nvme_mpath_default_iopolicy(struct nvme_subsystem *subsys);
 void nvme_failover_req(struct request *req);
 void nvme_kick_requeue_lists(struct nvme_ctrl *ctrl);
 int nvme_mpath_alloc_disk(struct nvme_ctrl *ctrl,struct nvme_ns_head *head);
-void nvme_mpath_add_disk(struct nvme_ns *ns, struct nvme_id_ns *id);
+void nvme_mpath_add_disk(struct nvme_ns *ns, __le32 anagrpid);
 void nvme_mpath_remove_disk(struct nvme_ns_head *head);
 int nvme_mpath_init_identify(struct nvme_ctrl *ctrl, struct nvme_id_ctrl *id);
 void nvme_mpath_init_ctrl(struct nvme_ctrl *ctrl);
@@ -888,8 +888,7 @@ static inline int nvme_mpath_alloc_disk(struct nvme_ctrl *ctrl,
 {
        return 0;
 }
-static inline void nvme_mpath_add_disk(struct nvme_ns *ns,
-               struct nvme_id_ns *id)
+static inline void nvme_mpath_add_disk(struct nvme_ns *ns, __le32 anagrpid)
 {
 }
 static inline void nvme_mpath_remove_disk(struct nvme_ns_head *head)