| @@ -38,7 +38,7 @@ · 37 unmodified lines |
| 38 | 38 | #include "blk-mq-sched.h" |
| 39 | 39 | #include "blk-rq-qos.h" |
| 40 | 40 | |
| 41 | | −static bool blk_mq_poll(struct request_queue *q, blk_qc_t cookie); |
| 41 | +static int blk_mq_poll(struct request_queue *q, blk_qc_t cookie); |
| 42 | 42 | static void blk_mq_poll_stats_start(struct request_queue *q); |
| 43 | 43 | static void blk_mq_poll_stats_fn(struct blk_stat_callback *cb); |
| 44 | 44 | |
| @@ -3305,7 +3305,7 @@ static bool blk_mq_poll_hybrid_sleep(struct request_queue *q, · 3260 unmodified lines |
| 3305 | 3305 | return true; |
| 3306 | 3306 | } |
| 3307 | 3307 | |
| 3308 | | −static bool __blk_mq_poll(struct blk_mq_hw_ctx *hctx, struct request *rq) |
| 3308 | +static int __blk_mq_poll(struct blk_mq_hw_ctx *hctx, struct request *rq) |
| 3309 | 3309 | { |
| 3310 | 3310 | struct request_queue *q = hctx->queue; |
| 3311 | 3311 | long state; |
| @@ -3318,7 +3318,7 @@ static bool __blk_mq_poll(struct blk_mq_hw_ctx *hctx, struct request *rq) · 6 unmodified lines |
| 3318 | 3318 | * straight to the busy poll loop. |
| 3319 | 3319 | */ |
| 3320 | 3320 | if (blk_mq_poll_hybrid_sleep(q, hctx, rq)) |
| 3321 | | − return true; |
| 3321 | + return 1; |
| 3322 | 3322 | |
| 3323 | 3323 | hctx->poll_considered++; |
| 3324 | 3324 | |
| @@ -3332,30 +3332,30 @@ static bool __blk_mq_poll(struct blk_mq_hw_ctx *hctx, struct request *rq) · 7 unmodified lines |
| 3332 | 3332 | if (ret > 0) { |
| 3333 | 3333 | hctx->poll_success++; |
| 3334 | 3334 | __set_current_state(TASK_RUNNING); |
| 3335 | | − return true; |
| 3335 | + return ret; |
| 3336 | 3336 | } |
| 3337 | 3337 | |
| 3338 | 3338 | if (signal_pending_state(state, current)) |
| 3339 | 3339 | __set_current_state(TASK_RUNNING); |
| 3340 | 3340 | |
| 3341 | 3341 | if (current->state == TASK_RUNNING) |
| 3342 | | − return true; |
| 3342 | + return 1; |
| 3343 | 3343 | if (ret < 0) |
| 3344 | 3344 | break; |
| 3345 | 3345 | cpu_relax(); |
| 3346 | 3346 | } |
| 3347 | 3347 | |
| 3348 | 3348 | __set_current_state(TASK_RUNNING); |
| 3349 | | − return false; |
| 3349 | + return 0; |
| 3350 | 3350 | } |
| 3351 | 3351 | |
| 3352 | | −static bool blk_mq_poll(struct request_queue *q, blk_qc_t cookie) |
| 3352 | +static int blk_mq_poll(struct request_queue *q, blk_qc_t cookie) |
| 3353 | 3353 | { |
| 3354 | 3354 | struct blk_mq_hw_ctx *hctx; |
| 3355 | 3355 | struct request *rq; |
| 3356 | 3356 | |
| 3357 | 3357 | if (!test_bit(QUEUE_FLAG_POLL, &q->queue_flags)) |
| 3358 | | − return false; |
| 3358 | + return 0; |
| 3359 | 3359 | |
| 3360 | 3360 | hctx = q->queue_hw_ctx[blk_qc_t_to_queue_num(cookie)]; |
| 3361 | 3361 | if (!blk_qc_t_is_internal(cookie)) |
| @@ -3369,7 +3369,7 @@ static bool blk_mq_poll(struct request_queue *q, blk_qc_t cookie) · 7 unmodified lines |
| 3369 | 3369 | * so we should be safe with just the NULL check. |
| 3370 | 3370 | */ |
| 3371 | 3371 | if (!rq) |
| 3372 | | − return false; |
| 3372 | + return 0; |
| 3373 | 3373 | } |
| 3374 | 3374 | |
| 3375 | 3375 | return __blk_mq_poll(hctx, rq); |