lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <55509060.4010601@sandisk.com>
Date:	Mon, 11 May 2015 13:20:00 +0200
From:	Bart Van Assche <bart.vanassche@...disk.com>
To:	Jens Axboe <axboe@...com>
CC:	Christoph Hellwig <hch@....de>, Shaohua Li <shli@...com>,
	linux-kernel <linux-kernel@...r.kernel.org>
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@...disk.com>
Cc: Christoph Hellwig <hch@....de>
Cc: Shaohua Li <shli@...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

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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ