Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 93fdf147 authored by Jan Kara's avatar Jan Kara Committed by Jens Axboe
Browse files

cfq-iosched: Convert slice_resid from u64 to s64



slice_resid can be both positive and negative. Commit 9a7f38c4
(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: 9a7f38c4
Signed-off-by: default avatarJan Kara <jack@suse.cz>
Signed-off-by: default avatarJens Axboe <axboe@fb.com>
parent 9828c2c6
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -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);