https://jira.sw.ru/browse/PSBM-46146

Fixes: d179e86ac429 ("fs/mm: writeback: fix per bdi dirty background threshold 
calculation")
Signed-off-by: Vladimir Davydov <[email protected]>
---
 fs/fs-writeback.c   | 2 +-
 mm/page-writeback.c | 3 ++-
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/fs/fs-writeback.c b/fs/fs-writeback.c
index 55eca543f921..5c9a0828ba18 100644
--- a/fs/fs-writeback.c
+++ b/fs/fs-writeback.c
@@ -845,7 +845,7 @@ static bool over_bground_thresh(struct backing_dev_info 
*bdi)
 
        bdi_thresh = bdi_dirty_limit(bdi, dirty_thresh);
        bdi_bg_thresh = div_u64((u64)bdi_thresh * background_thresh,
-                               dirty_thresh);
+                               dirty_thresh + 1);
 
        if (bdi_stat(bdi, BDI_RECLAIMABLE) > bdi_bg_thresh)
                return true;
diff --git a/mm/page-writeback.c b/mm/page-writeback.c
index 46987e86c5a0..3b881f30dbe5 100644
--- a/mm/page-writeback.c
+++ b/mm/page-writeback.c
@@ -791,7 +791,8 @@ static unsigned long bdi_position_ratio(struct 
backing_dev_info *bdi,
                if (bdi_dirty >= bdi_thresh)
                        return 0;
 
-               bdi_bg_thresh = div_u64((u64)bdi_thresh * bg_thresh, thresh);
+               bdi_bg_thresh = div_u64((u64)bdi_thresh * bg_thresh,
+                                       thresh + 1);
                bdi_setpoint = dirty_freerun_ceiling(bdi_thresh,
                                                     bdi_bg_thresh);
 
-- 
2.1.4

_______________________________________________
Devel mailing list
[email protected]
https://lists.openvz.org/mailman/listinfo/devel

Reply via email to