nvmet: remove extra variable in id-desclist
authorChaitanya Kulkarni <chaitanya.kulkarni@wdc.com>
Thu, 14 Jan 2021 01:33:53 +0000 (17:33 -0800)
committerChristoph Hellwig <hch@lst.de>
Tue, 2 Feb 2021 09:26:11 +0000 (10:26 +0100)
We remove the extra local variable struct nvmet_ns in
nvmet_execute_identify_desclist() since req already has ns member that
can be reused, this also eliminates the explicit call to
nvmet_put_namespace() which is already present in the request
completion path.

Signed-off-by: Chaitanya Kulkarni <chaitanya.kulkarni@wdc.com>
Reviewed-by: Sagi Grimberg <sagi@grimberg.me>
Signed-off-by: Christoph Hellwig <hch@lst.de>
drivers/nvme/target/admin-cmd.c

index de804d9..1cc61ca 100644 (file)
@@ -605,37 +605,35 @@ static u16 nvmet_copy_ns_identifier(struct nvmet_req *req, u8 type, u8 len,
 
 static void nvmet_execute_identify_desclist(struct nvmet_req *req)
 {
-       struct nvmet_ns *ns;
        u16 status = 0;
        off_t off = 0;
 
-       ns = nvmet_find_namespace(req->sq->ctrl, req->cmd->identify.nsid);
-       if (!ns) {
+       req->ns = nvmet_find_namespace(req->sq->ctrl, req->cmd->identify.nsid);
+       if (!req->ns) {
                req->error_loc = offsetof(struct nvme_identify, nsid);
                status = NVME_SC_INVALID_NS | NVME_SC_DNR;
                goto out;
        }
 
-       if (memchr_inv(&ns->uuid, 0, sizeof(ns->uuid))) {
+       if (memchr_inv(&req->ns->uuid, 0, sizeof(req->ns->uuid))) {
                status = nvmet_copy_ns_identifier(req, NVME_NIDT_UUID,
                                                  NVME_NIDT_UUID_LEN,
-                                                 &ns->uuid, &off);
+                                                 &req->ns->uuid, &off);
                if (status)
-                       goto out_put_ns;
+                       goto out;
        }
-       if (memchr_inv(ns->nguid, 0, sizeof(ns->nguid))) {
+       if (memchr_inv(req->ns->nguid, 0, sizeof(req->ns->nguid))) {
                status = nvmet_copy_ns_identifier(req, NVME_NIDT_NGUID,
                                                  NVME_NIDT_NGUID_LEN,
-                                                 &ns->nguid, &off);
+                                                 &req->ns->nguid, &off);
                if (status)
-                       goto out_put_ns;
+                       goto out;
        }
 
        if (sg_zero_buffer(req->sg, req->sg_cnt, NVME_IDENTIFY_DATA_SIZE - off,
                        off) != NVME_IDENTIFY_DATA_SIZE - off)
                status = NVME_SC_INTERNAL | NVME_SC_DNR;
-out_put_ns:
-       nvmet_put_namespace(ns);
+
 out:
        nvmet_req_complete(req, status);
 }