Re: [PATCH 4/6] blk-mq: make blk_abort_request() trigger timeout path

From: tj@xxxxxxxxxx
Date: Thu Dec 14 2017 - 14:26:34 EST


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