block: mq-deadline: Simplify deadline_skip_seq_writes()
authorBart Van Assche <bvanassche@acm.org>
Wed, 17 May 2023 17:42:25 +0000 (10:42 -0700)
committerJens Axboe <axboe@kernel.dk>
Fri, 19 May 2023 01:47:49 +0000 (19:47 -0600)
Make the deadline_skip_seq_writes() code shorter without changing its
functionality.

Reviewed-by: Damien Le Moal <dlemoal@kernel.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Hannes Reinecke <hare@suse.de>
Cc: Ming Lei <ming.lei@redhat.com>
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
Link: https://lore.kernel.org/r/20230517174230.897144-8-bvanassche@acm.org
Signed-off-by: Jens Axboe <axboe@kernel.dk>
block/mq-deadline.c

index cea91ba..56782ee 100644 (file)
@@ -304,14 +304,11 @@ static struct request *deadline_skip_seq_writes(struct deadline_data *dd,
                                                struct request *rq)
 {
        sector_t pos = blk_rq_pos(rq);
-       sector_t skipped_sectors = 0;
 
-       while (rq) {
-               if (blk_rq_pos(rq) != pos + skipped_sectors)
-                       break;
-               skipped_sectors += blk_rq_sectors(rq);
+       do {
+               pos += blk_rq_sectors(rq);
                rq = deadline_latter_request(rq);
-       }
+       } while (rq && blk_rq_pos(rq) == pos);
 
        return rq;
 }