blk-mq: introduce blk_mq_request_completed()
NVMe needs this function to decide if one request to be aborted has been completed in normal IO path already. So introduce it. Cc: Max Gurtovoy <maxg@mellanox.com> Cc: Sagi Grimberg <sagi@grimberg.me> Cc: Keith Busch <keith.busch@intel.com> Cc: Christoph Hellwig <hch@lst.de> Reviewed-by: Sagi Grimberg <sagi@grimberg.me> Signed-off-by: Ming Lei <ming.lei@redhat.com> Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
@@ -665,6 +665,12 @@ int blk_mq_request_started(struct request *rq)
|
|||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(blk_mq_request_started);
|
EXPORT_SYMBOL_GPL(blk_mq_request_started);
|
||||||
|
|
||||||
|
int blk_mq_request_completed(struct request *rq)
|
||||||
|
{
|
||||||
|
return blk_mq_rq_state(rq) == MQ_RQ_COMPLETE;
|
||||||
|
}
|
||||||
|
EXPORT_SYMBOL_GPL(blk_mq_request_completed);
|
||||||
|
|
||||||
void blk_mq_start_request(struct request *rq)
|
void blk_mq_start_request(struct request *rq)
|
||||||
{
|
{
|
||||||
struct request_queue *q = rq->q;
|
struct request_queue *q = rq->q;
|
||||||
|
|||||||
@@ -296,6 +296,7 @@ static inline u16 blk_mq_unique_tag_to_tag(u32 unique_tag)
|
|||||||
|
|
||||||
|
|
||||||
int blk_mq_request_started(struct request *rq);
|
int blk_mq_request_started(struct request *rq);
|
||||||
|
int blk_mq_request_completed(struct request *rq);
|
||||||
void blk_mq_start_request(struct request *rq);
|
void blk_mq_start_request(struct request *rq);
|
||||||
void blk_mq_end_request(struct request *rq, blk_status_t error);
|
void blk_mq_end_request(struct request *rq, blk_status_t error);
|
||||||
void __blk_mq_end_request(struct request *rq, blk_status_t error);
|
void __blk_mq_end_request(struct request *rq, blk_status_t error);
|
||||||
|
|||||||
Reference in New Issue
Block a user