]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/commitdiff
nvmet: add req cns error complete helper
authorChaitanya Kulkarni <chaitanya.kulkarni@wdc.com>
Thu, 10 Jun 2021 01:32:49 +0000 (18:32 -0700)
committerChristoph Hellwig <hch@lst.de>
Thu, 17 Jun 2021 13:51:20 +0000 (15:51 +0200)
We report error and complete the request when identify cns value is not
handled in nvmet_execute_identify(). This error reporting is also needed
for Zone Block Device backend for NVMeOF target.

Add a helper nvmet_req_cns_error_compplete() to report an error and
complete the request when idenitfy command cns not handled value.

Signed-off-by: Chaitanya Kulkarni <chaitanya.kulkarni@wdc.com>
Reviewed-by: Damien Le Moal <damien.lemoal@wdc.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
drivers/nvme/target/admin-cmd.c
drivers/nvme/target/nvmet.h

index cd60a8184d04f3539f6e80fb5f2d4731237ae3b2..3de6a6c99b01ad1df7507df755004cd1633f398c 100644 (file)
@@ -637,10 +637,7 @@ static void nvmet_execute_identify(struct nvmet_req *req)
                return nvmet_execute_identify_desclist(req);
        }
 
-       pr_debug("unhandled identify cns %d on qid %d\n",
-              req->cmd->identify.cns, req->sq->qid);
-       req->error_loc = offsetof(struct nvme_identify, cns);
-       nvmet_req_complete(req, NVME_SC_INVALID_FIELD | NVME_SC_DNR);
+       nvmet_req_cns_error_complete(req);
 }
 
 /*
index 3468f25cb4b7a3f290059648aec8296ec409cd59..002651f34c5e1b39f1245495fc22e6672a4105d6 100644 (file)
@@ -624,4 +624,12 @@ static inline bool nvmet_use_inline_bvec(struct nvmet_req *req)
               req->sg_cnt <= NVMET_MAX_INLINE_BIOVEC;
 }
 
+static inline void nvmet_req_cns_error_complete(struct nvmet_req *req)
+{
+       pr_debug("unhandled identify cns %d on qid %d\n",
+              req->cmd->identify.cns, req->sq->qid);
+       req->error_loc = offsetof(struct nvme_identify, cns);
+       nvmet_req_complete(req, NVME_SC_INVALID_FIELD | NVME_SC_DNR);
+}
+
 #endif /* _NVMET_H */