提交 65ba6b54 编写于 作者: C Christoph Hellwig 提交者: Jens Axboe

nvme: make nvme_error_status private

Currently it's used by the lighnvm passthrough ioctl, but we'd like to make
it private in preparation of block layer specific error code.  Lighnvm already
returns the real NVMe status anyway, so I think we can just limit it to
returning -EIO for any status set.

This will need a careful audit from the lightnvm folks, though.
Signed-off-by: NChristoph Hellwig <hch@lst.de>
Signed-off-by: NJens Axboe <axboe@fb.com>
上级 27fa9bc5
...@@ -66,7 +66,7 @@ static DEFINE_SPINLOCK(dev_list_lock); ...@@ -66,7 +66,7 @@ static DEFINE_SPINLOCK(dev_list_lock);
static struct class *nvme_class; static struct class *nvme_class;
int nvme_error_status(struct request *req) static int nvme_error_status(struct request *req)
{ {
switch (nvme_req(req)->status & 0x7ff) { switch (nvme_req(req)->status & 0x7ff) {
case NVME_SC_SUCCESS: case NVME_SC_SUCCESS:
...@@ -77,7 +77,6 @@ int nvme_error_status(struct request *req) ...@@ -77,7 +77,6 @@ int nvme_error_status(struct request *req)
return -EIO; return -EIO;
} }
} }
EXPORT_SYMBOL_GPL(nvme_error_status);
static inline bool nvme_req_needs_retry(struct request *req) static inline bool nvme_req_needs_retry(struct request *req)
{ {
......
...@@ -595,7 +595,7 @@ static int nvme_nvm_submit_user_cmd(struct request_queue *q, ...@@ -595,7 +595,7 @@ static int nvme_nvm_submit_user_cmd(struct request_queue *q,
__le64 *metadata = NULL; __le64 *metadata = NULL;
dma_addr_t metadata_dma; dma_addr_t metadata_dma;
DECLARE_COMPLETION_ONSTACK(wait); DECLARE_COMPLETION_ONSTACK(wait);
int ret; int ret = 0;
rq = nvme_alloc_request(q, (struct nvme_command *)vcmd, 0, rq = nvme_alloc_request(q, (struct nvme_command *)vcmd, 0,
NVME_QID_ANY); NVME_QID_ANY);
...@@ -667,8 +667,8 @@ static int nvme_nvm_submit_user_cmd(struct request_queue *q, ...@@ -667,8 +667,8 @@ static int nvme_nvm_submit_user_cmd(struct request_queue *q,
if (nvme_req(rq)->flags & NVME_REQ_CANCELLED) if (nvme_req(rq)->flags & NVME_REQ_CANCELLED)
ret = -EINTR; ret = -EINTR;
else else if (nvme_req(rq)->status & 0x7ff)
ret = nvme_error_status(rq); ret = -EIO;
if (result) if (result)
*result = nvme_req(rq)->status & 0x7ff; *result = nvme_req(rq)->status & 0x7ff;
if (status) if (status)
......
...@@ -254,7 +254,6 @@ static inline void nvme_end_request(struct request *req, __le16 status, ...@@ -254,7 +254,6 @@ static inline void nvme_end_request(struct request *req, __le16 status,
blk_mq_complete_request(req, 0); blk_mq_complete_request(req, 0);
} }
int nvme_error_status(struct request *req);
void nvme_complete_rq(struct request *req); void nvme_complete_rq(struct request *req);
void nvme_cancel_request(struct request *req, void *data, bool reserved); void nvme_cancel_request(struct request *req, void *data, bool reserved);
bool nvme_change_ctrl_state(struct nvme_ctrl *ctrl, bool nvme_change_ctrl_state(struct nvme_ctrl *ctrl,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册