[PATCH] block: Refine blk_abort_request() documentation

From: Bart Van Assche
Date: Mon May 11 2015 - 07:53:52 EST

Document when it is safe to call this function for blk-mq queues.

Signed-off-by: Bart Van Assche <bart.vanassche@xxxxxxxxxxx>
Cc: Christoph Hellwig <hch@xxxxxx>
Cc: Shaohua Li <shli@xxxxxx>
block/blk-timeout.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/block/blk-timeout.c b/block/blk-timeout.c
index 246dfb1..d162500 100644
--- a/block/blk-timeout.c
+++ b/block/blk-timeout.c
@@ -149,10 +149,13 @@ void blk_rq_timed_out_timer(unsigned long data)
* blk_abort_request -- Request request recovery for the specified command
* @req: pointer to the request of interest
- * This function requests that the block layer start recovery for the
+ * This function requests that the block layer starts recovery for the
* request by deleting the timer and calling the q's timeout function.
* LLDDs who implement their own error recovery MAY ignore the timeout
- * event if they generated blk_abort_req. Must hold queue lock.
+ * event if they generated blk_abort_req. The caller must hold the queue lock
+ * if @req->q is a traditional block layer queue. However, if @req->q is a
+ * blk-mq queue then it is up to the caller to ensure that this function is
+ * only called after @req->q->mq_ops->queue_rq(@req) has finished.
void blk_abort_request(struct request *req)

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/