Hello, On Thu, Dec 14, 2017 at 06:56:55PM +0000, Bart Van Assche wrote: > On Tue, 2017-12-12 at 11:01 -0800, Tejun Heo wrote: > > void blk_abort_request(struct request *req) > > { > > - if (blk_mark_rq_complete(req)) > > - return; > > > > if (req->q->mq_ops) { > > - blk_mq_rq_timed_out(req, false); > > + req->deadline = jiffies; > > + mod_timer(&req->q->timeout, 0); > > } else { > > + if (blk_mark_rq_complete(req)) > > + return; > > blk_delete_timer(req); > > blk_rq_timed_out(req); > > } > > This patch makes blk_abort_request() asynchronous for blk-mq. Have all callers > been audited to verify whether this change is safe? I *think* so. For all the ata related parts, I know they're. mtip32xx and dasd_ioctl, it seems safe, but I can't tell for sure. Will cc the respective maintainers on the next posting. Thanks. -- tejun