]> git.baikalelectronics.ru Git - kernel.git/commitdiff
cfq-iosched: Convert slice_resid from u64 to s64
authorJan Kara <jack@suse.cz>
Tue, 28 Jun 2016 07:04:00 +0000 (09:04 +0200)
committerJens Axboe <axboe@fb.com>
Tue, 28 Jun 2016 14:21:46 +0000 (08:21 -0600)
slice_resid can be both positive and negative. Commit bc5240ca5bc1
(cfq-iosched: Convert from jiffies to nanoseconds) converted it from
long to u64. Although this did not introduce any functional regression
(the operations just overflow and the result was fine), it is certainly
wrong and could cause issues in future. So convert the type to more
appropriate s64.

Fixes: bc5240ca5bc1c224de225212da9f8378fd604e99
Signed-off-by: Jan Kara <jack@suse.cz>
Signed-off-by: Jens Axboe <axboe@fb.com>
block/cfq-iosched.c

index d227ad633242667d2cc872e954af8e8987b8bb6f..c1adbd01d0fa30e9d45e26d5912479eb614bf13c 100644 (file)
@@ -132,7 +132,7 @@ struct cfq_queue {
        /* time when first request from queue completed and slice started. */
        u64 slice_start;
        u64 slice_end;
-       u64 slice_resid;
+       s64 slice_resid;
 
        /* pending priority requests */
        int prio_pending;
@@ -2689,7 +2689,7 @@ __cfq_slice_expired(struct cfq_data *cfqd, struct cfq_queue *cfqq,
                        cfqq->slice_resid = cfq_scaled_cfqq_slice(cfqd, cfqq);
                else
                        cfqq->slice_resid = cfqq->slice_end - ktime_get_ns();
-               cfq_log_cfqq(cfqd, cfqq, "resid=%llu", cfqq->slice_resid);
+               cfq_log_cfqq(cfqd, cfqq, "resid=%lld", cfqq->slice_resid);
        }
 
        cfq_group_served(cfqd, cfqq->cfqg, cfqq);