nvmet: add req cns error complete helper
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>
This commit is contained in:
Родитель
c28a61471c
Коммит
6e597263f9
|
@ -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);
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
|
@ -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 */
|
||||
|
|
Загрузка…
Ссылка в новой задаче