From: Ming Lei <ming.lei@redhat.com> To: Jens Axboe <axboe@kernel.dk> Cc: linux-block@vger.kernel.org, linux-nvme@lists.infradead.org, Ming Lei <ming.lei@redhat.com>, Max Gurtovoy <maxg@mellanox.com>, Sagi Grimberg <sagi@grimberg.me>, Keith Busch <keith.busch@intel.com>, Christoph Hellwig <hch@lst.de> Subject: [PATCH 1/5] blk-mq: introduce blk_mq_request_completed() Date: Mon, 22 Jul 2019 13:39:50 +0800 [thread overview] Message-ID: <20190722053954.25423-2-ming.lei@redhat.com> (raw) In-Reply-To: <20190722053954.25423-1-ming.lei@redhat.com> 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> Signed-off-by: Ming Lei <ming.lei@redhat.com> --- block/blk-mq.c | 6 ++++++ include/linux/blk-mq.h | 1 + 2 files changed, 7 insertions(+) diff --git a/block/blk-mq.c b/block/blk-mq.c index b038ec680e84..e1d0b4567388 100644 --- a/block/blk-mq.c +++ b/block/blk-mq.c @@ -665,6 +665,12 @@ int blk_mq_request_started(struct request *rq) } 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) { struct request_queue *q = rq->q; diff --git a/include/linux/blk-mq.h b/include/linux/blk-mq.h index 3fa1fa59f9b2..baac2926e54a 100644 --- a/include/linux/blk-mq.h +++ b/include/linux/blk-mq.h @@ -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_completed(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); -- 2.20.1
WARNING: multiple messages have this Message-ID (diff)
From: ming.lei@redhat.com (Ming Lei) Subject: [PATCH 1/5] blk-mq: introduce blk_mq_request_completed() Date: Mon, 22 Jul 2019 13:39:50 +0800 [thread overview] Message-ID: <20190722053954.25423-2-ming.lei@redhat.com> (raw) In-Reply-To: <20190722053954.25423-1-ming.lei@redhat.com> 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 at mellanox.com> Cc: Sagi Grimberg <sagi at grimberg.me> Cc: Keith Busch <keith.busch at intel.com> Cc: Christoph Hellwig <hch at lst.de> Signed-off-by: Ming Lei <ming.lei at redhat.com> --- block/blk-mq.c | 6 ++++++ include/linux/blk-mq.h | 1 + 2 files changed, 7 insertions(+) diff --git a/block/blk-mq.c b/block/blk-mq.c index b038ec680e84..e1d0b4567388 100644 --- a/block/blk-mq.c +++ b/block/blk-mq.c @@ -665,6 +665,12 @@ int blk_mq_request_started(struct request *rq) } 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) { struct request_queue *q = rq->q; diff --git a/include/linux/blk-mq.h b/include/linux/blk-mq.h index 3fa1fa59f9b2..baac2926e54a 100644 --- a/include/linux/blk-mq.h +++ b/include/linux/blk-mq.h @@ -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_completed(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); -- 2.20.1
next prev parent reply other threads:[~2019-07-22 5:40 UTC|newest] Thread overview: 50+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-07-22 5:39 [PATCH 0/5] blk-mq: wait until completed req's complete fn is run Ming Lei 2019-07-22 5:39 ` Ming Lei 2019-07-22 5:39 ` Ming Lei [this message] 2019-07-22 5:39 ` [PATCH 1/5] blk-mq: introduce blk_mq_request_completed() Ming Lei 2019-07-23 20:26 ` Sagi Grimberg 2019-07-23 20:26 ` Sagi Grimberg 2019-07-22 5:39 ` [PATCH 2/5] blk-mq: introduce blk_mq_tagset_wait_completed_request() Ming Lei 2019-07-22 5:39 ` Ming Lei 2019-07-22 15:25 ` Bart Van Assche 2019-07-22 15:25 ` Bart Van Assche 2019-07-23 1:06 ` Ming Lei 2019-07-23 1:06 ` Ming Lei 2019-07-23 20:54 ` Bart Van Assche 2019-07-23 20:54 ` Bart Van Assche 2019-07-24 1:34 ` Ming Lei 2019-07-24 1:34 ` Ming Lei 2019-07-23 20:27 ` Sagi Grimberg 2019-07-23 20:27 ` Sagi Grimberg 2019-07-22 5:39 ` [PATCH 3/5] nvme: don't abort completed request in nvme_cancel_request Ming Lei 2019-07-22 5:39 ` Ming Lei 2019-07-22 15:27 ` Bart Van Assche 2019-07-22 15:27 ` Bart Van Assche 2019-07-22 23:22 ` Keith Busch 2019-07-22 23:22 ` Keith Busch 2019-07-23 0:07 ` Sagi Grimberg 2019-07-23 0:07 ` Sagi Grimberg 2019-07-23 1:08 ` Ming Lei 2019-07-23 1:08 ` Ming Lei 2019-07-23 19:22 ` Bart Van Assche 2019-07-23 19:22 ` Bart Van Assche 2019-07-23 20:27 ` Sagi Grimberg 2019-07-23 20:27 ` Sagi Grimberg 2019-07-22 5:39 ` [PATCH 4/5] nvme: wait until all completed request's complete fn is called Ming Lei 2019-07-22 5:39 ` Ming Lei 2019-07-23 16:14 ` Dongli Zhang 2019-07-23 16:14 ` Dongli Zhang 2019-07-24 2:05 ` Ming Lei 2019-07-24 2:05 ` Ming Lei 2019-07-23 20:29 ` Sagi Grimberg 2019-07-23 20:29 ` Sagi Grimberg 2019-07-24 1:43 ` Ming Lei 2019-07-24 1:43 ` Ming Lei 2019-07-22 5:39 ` [PATCH 5/5] blk-mq: remove blk_mq_complete_request_sync Ming Lei 2019-07-22 5:39 ` Ming Lei 2019-07-23 20:30 ` Sagi Grimberg 2019-07-23 20:30 ` Sagi Grimberg 2019-07-22 23:27 ` [PATCH 0/5] blk-mq: wait until completed req's complete fn is run Bob Liu 2019-07-22 23:27 ` Bob Liu 2019-07-23 1:10 ` Ming Lei 2019-07-23 1:10 ` Ming Lei
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20190722053954.25423-2-ming.lei@redhat.com \ --to=ming.lei@redhat.com \ --cc=axboe@kernel.dk \ --cc=hch@lst.de \ --cc=keith.busch@intel.com \ --cc=linux-block@vger.kernel.org \ --cc=linux-nvme@lists.infradead.org \ --cc=maxg@mellanox.com \ --cc=sagi@grimberg.me \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.