Commit d1210d5a authored by Christoph Hellwig's avatar Christoph Hellwig Committed by Jens Axboe
Browse files

blk-mq: simplify blk_mq_rq_timed_out

parent 88b0cfad
Loading
Loading
Loading
Loading
+8 −14
Original line number Diff line number Diff line
@@ -770,22 +770,16 @@ EXPORT_SYMBOL(blk_mq_tag_to_rq);

static void blk_mq_rq_timed_out(struct request *req, bool reserved)
{
	const struct blk_mq_ops *ops = req->q->mq_ops;
	enum blk_eh_timer_return ret = BLK_EH_RESET_TIMER;
	if (req->q->mq_ops->timeout) {
		enum blk_eh_timer_return ret;

	if (ops->timeout)
		ret = ops->timeout(req, reserved);
		ret = req->q->mq_ops->timeout(req, reserved);
		if (ret == BLK_EH_DONE)
			return;
		WARN_ON_ONCE(ret != BLK_EH_RESET_TIMER);
	}

	switch (ret) {
	case BLK_EH_RESET_TIMER:
	blk_add_timer(req);
		break;
	case BLK_EH_DONE:
		break;
	default:
		printk(KERN_ERR "block: bad eh return: %d\n", ret);
		break;
	}
}

static bool blk_mq_req_expired(struct request *rq, unsigned long *next)