]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/blobdiff - block/bfq-iosched.c
Merge tag 'nios2-v5.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/lftan...
[mirror_ubuntu-jammy-kernel.git] / block / bfq-iosched.c
index 06268449d2cadd751069cea7ed06c5700bf5af0a..4c592496a16a21655dcd8616ae4b3181111b3956 100644 (file)
@@ -2251,7 +2251,8 @@ bfq_setup_cooperator(struct bfq_data *bfqd, struct bfq_queue *bfqq,
 
        if (in_service_bfqq && in_service_bfqq != bfqq &&
            likely(in_service_bfqq != &bfqd->oom_bfqq) &&
-           bfq_rq_close_to_sector(io_struct, request, bfqd->last_position) &&
+           bfq_rq_close_to_sector(io_struct, request,
+                                  bfqd->in_serv_last_pos) &&
            bfqq->entity.parent == in_service_bfqq->entity.parent &&
            bfq_may_be_close_cooperator(bfqq, in_service_bfqq)) {
                new_bfqq = bfq_setup_merge(bfqq, in_service_bfqq);
@@ -2791,6 +2792,8 @@ update_rate_and_reset:
        bfq_update_rate_reset(bfqd, rq);
 update_last_values:
        bfqd->last_position = blk_rq_pos(rq) + blk_rq_sectors(rq);
+       if (RQ_BFQQ(rq) == bfqd->in_service_queue)
+               bfqd->in_serv_last_pos = bfqd->last_position;
        bfqd->last_dispatch = now_ns;
 }