From: Minwoo Im Date: Wed, 13 Jan 2021 14:36:27 +0000 (+0900) Subject: nvme: refactor ns->ctrl by request X-Git-Tag: accepted/tizen/unified/20230118.172025~7855^2~14^2~13 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=fc97e942d90c2103755f2fcd9a068a4ee7dfc1bf;p=platform%2Fkernel%2Flinux-rpi.git nvme: refactor ns->ctrl by request Just for current code in nvme_cleanup_cmd(), we don't have to get namespace instance, but we need controller instance. Controller instance can be retrieved by namespace instance, but it can be directly accessed by nvme_request instance from request. ctrl = nvme_req(req)->ctrl; We don't have to go around namespace instance from request instance through gendisk. Signed-off-by: Minwoo Im Reviewed-by: Sagi Grimberg Signed-off-by: Christoph Hellwig --- diff --git a/drivers/nvme/host/core.c b/drivers/nvme/host/core.c index 636a88c..009830d 100644 --- a/drivers/nvme/host/core.c +++ b/drivers/nvme/host/core.c @@ -841,11 +841,11 @@ static inline blk_status_t nvme_setup_rw(struct nvme_ns *ns, void nvme_cleanup_cmd(struct request *req) { if (req->rq_flags & RQF_SPECIAL_PAYLOAD) { - struct nvme_ns *ns = req->rq_disk->private_data; + struct nvme_ctrl *ctrl = nvme_req(req)->ctrl; struct page *page = req->special_vec.bv_page; - if (page == ns->ctrl->discard_page) - clear_bit_unlock(0, &ns->ctrl->discard_page_busy); + if (page == ctrl->discard_page) + clear_bit_unlock(0, &ctrl->discard_page_busy); else kfree(page_address(page) + req->special_vec.bv_offset); }