From 2fdc22f780ae8be1140c4a5d633f2f0d98aad49c Mon Sep 17 00:00:00 2001 From: Thomas Schoebel-Theuer Date: Fri, 30 Aug 2019 08:54:12 +0200 Subject: [PATCH] main: rest space computation obeys writeback --- kernel/sy_old/mars_main.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/kernel/sy_old/mars_main.c b/kernel/sy_old/mars_main.c index a619de15..6da629b5 100644 --- a/kernel/sy_old/mars_main.c +++ b/kernel/sy_old/mars_main.c @@ -412,8 +412,16 @@ int compute_emergency_mode(void) int mode = 4; int this_mode = 0; - mars_remaining_space("/mars", &raw_total_space, &raw_remaining_space); - rest = raw_remaining_space; + mars_remaining_space("/mars", &raw_total_space, &rest); + + /* Take current writeback memory usage into account. + * Somewhen, it will land on the disk... + */ + rest -= atomic64_read(&global_mshadow_used) / 1024; + if (rest < 0) + rest = 0; + + raw_remaining_space = rest; #define CHECK_LIMIT(LIMIT_VAR) \ if (LIMIT_VAR > 0) \