diff options
Diffstat (limited to 'mm/page-writeback.c')
-rw-r--r-- | mm/page-writeback.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/mm/page-writeback.c b/mm/page-writeback.c index 742c40583159..efe68148f621 100644 --- a/mm/page-writeback.c +++ b/mm/page-writeback.c | |||
@@ -696,7 +696,7 @@ static unsigned long bdi_position_ratio(struct backing_dev_info *bdi, | |||
696 | * => fast response on large errors; small oscillation near setpoint | 696 | * => fast response on large errors; small oscillation near setpoint |
697 | */ | 697 | */ |
698 | setpoint = (freerun + limit) / 2; | 698 | setpoint = (freerun + limit) / 2; |
699 | x = div_s64((setpoint - dirty) << RATELIMIT_CALC_SHIFT, | 699 | x = div_s64(((s64)setpoint - (s64)dirty) << RATELIMIT_CALC_SHIFT, |
700 | limit - setpoint + 1); | 700 | limit - setpoint + 1); |
701 | pos_ratio = x; | 701 | pos_ratio = x; |
702 | pos_ratio = pos_ratio * x >> RATELIMIT_CALC_SHIFT; | 702 | pos_ratio = pos_ratio * x >> RATELIMIT_CALC_SHIFT; |