Messages in this thread Patch in this message | | | Date | Mon, 11 May 2015 13:20:00 +0200 | From | Bart Van Assche <> | Subject | [PATCH] block: Refine blk_abort_request() documentation |
| |
Document when it is safe to call this function for blk-mq queues.
Signed-off-by: Bart Van Assche <bart.vanassche@sandisk.com> Cc: Christoph Hellwig <hch@lst.de> Cc: Shaohua Li <shli@fb.com> --- 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) { -- 2.1.4
| |