For some reason, the laptop mode IO completion notified was never wired
up for blk-mq. Ensure that we trigger the callback appropriately, to arm
the laptop mode flush timer.

Signed-off-by: Jens Axboe <[email protected]>

diff --git a/block/blk-mq.c b/block/blk-mq.c
index 98a18609755e..09e92667be98 100644
--- a/block/blk-mq.c
+++ b/block/blk-mq.c
@@ -476,6 +476,9 @@ void blk_mq_free_request(struct request *rq)
        if (rq->rq_flags & RQF_MQ_INFLIGHT)
                atomic_dec(&hctx->nr_active);
 
+       if (unlikely(laptop_mode && !blk_rq_is_passthrough(rq)))
+               laptop_io_completion(q->backing_dev_info);
+
        wbt_done(q->rq_wb, &rq->issue_stat);
 
        clear_bit(REQ_ATOM_STARTED, &rq->atomic_flags);

-- 
Jens Axboe

Reply via email to