diff options
-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 0713bfbf0954..1534ebd6e70f 100644 --- a/mm/page-writeback.c +++ b/mm/page-writeback.c | |||
@@ -692,7 +692,7 @@ static unsigned long bdi_position_ratio(struct backing_dev_info *bdi, | |||
692 | * => fast response on large errors; small oscillation near setpoint | 692 | * => fast response on large errors; small oscillation near setpoint |
693 | */ | 693 | */ |
694 | setpoint = (freerun + limit) / 2; | 694 | setpoint = (freerun + limit) / 2; |
695 | x = div_s64((setpoint - dirty) << RATELIMIT_CALC_SHIFT, | 695 | x = div_s64(((s64)setpoint - (s64)dirty) << RATELIMIT_CALC_SHIFT, |
696 | limit - setpoint + 1); | 696 | limit - setpoint + 1); |
697 | pos_ratio = x; | 697 | pos_ratio = x; |
698 | pos_ratio = pos_ratio * x >> RATELIMIT_CALC_SHIFT; | 698 | pos_ratio = pos_ratio * x >> RATELIMIT_CALC_SHIFT; |