git.samba.org
/
sfrench
/
cifs-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge tag 'remove-weak-declarations' of git://git.kernel.org/pub/scm/linux/kernel...
[sfrench/cifs-2.6.git]
/
block
/
blk-timeout.c
diff --git
a/block/blk-timeout.c
b/block/blk-timeout.c
index 95a09590ccfda8366f92efbee7c31f1654c11637..56c025894cdf2d73f78c5346c9c5987d5deb0e37 100644
(file)
--- a/
block/blk-timeout.c
+++ b/
block/blk-timeout.c
@@
-90,10
+90,7
@@
static void blk_rq_timed_out(struct request *req)
switch (ret) {
case BLK_EH_HANDLED:
/* Can we use req->errors here? */
switch (ret) {
case BLK_EH_HANDLED:
/* Can we use req->errors here? */
- if (q->mq_ops)
- __blk_mq_complete_request(req);
- else
- __blk_complete_request(req);
+ __blk_complete_request(req);
break;
case BLK_EH_RESET_TIMER:
blk_add_timer(req);
break;
case BLK_EH_RESET_TIMER:
blk_add_timer(req);
@@
-113,7
+110,7
@@
static void blk_rq_timed_out(struct request *req)
}
}
}
}
-void blk_rq_check_expired(struct request *rq, unsigned long *next_timeout,
+
static
void blk_rq_check_expired(struct request *rq, unsigned long *next_timeout,
unsigned int *next_set)
{
if (time_after_eq(jiffies, rq->deadline)) {
unsigned int *next_set)
{
if (time_after_eq(jiffies, rq->deadline)) {
@@
-162,7
+159,10
@@
void blk_abort_request(struct request *req)
if (blk_mark_rq_complete(req))
return;
blk_delete_timer(req);
if (blk_mark_rq_complete(req))
return;
blk_delete_timer(req);
- blk_rq_timed_out(req);
+ if (req->q->mq_ops)
+ blk_mq_rq_timed_out(req, false);
+ else
+ blk_rq_timed_out(req);
}
EXPORT_SYMBOL_GPL(blk_abort_request);
}
EXPORT_SYMBOL_GPL(blk_abort_request);
@@
-190,7
+190,8
@@
void blk_add_timer(struct request *req)
struct request_queue *q = req->q;
unsigned long expiry;
struct request_queue *q = req->q;
unsigned long expiry;
- if (!q->rq_timed_out_fn)
+ /* blk-mq has its own handler, so we don't need ->rq_timed_out_fn */
+ if (!q->mq_ops && !q->rq_timed_out_fn)
return;
BUG_ON(!list_empty(&req->timeout_list));
return;
BUG_ON(!list_empty(&req->timeout_list));