Zbigniew Jędrzejewski-Szmek a48f80
From 705313fc28f30ba3535d190ecb7ded21f66cc870 Mon Sep 17 00:00:00 2001
Zbigniew Jędrzejewski-Szmek a48f80
From: Lennart Poettering <lennart@poettering.net>
Zbigniew Jędrzejewski-Szmek a48f80
Date: Fri, 15 May 2015 20:56:55 +0200
Zbigniew Jędrzejewski-Szmek a48f80
Subject: [PATCH] coredump: make sure we vacuum by default
Zbigniew Jędrzejewski-Szmek a48f80
Zbigniew Jędrzejewski-Szmek a48f80
Only if both keep_free and max_use are actually 0 we can shortcut things
Zbigniew Jędrzejewski-Szmek a48f80
and avoid vacuuming. If either are positive or -1 we need to execute the
Zbigniew Jędrzejewski-Szmek a48f80
vacuuming.
Zbigniew Jędrzejewski-Szmek a48f80
Zbigniew Jędrzejewski-Szmek a48f80
http://lists.freedesktop.org/archives/systemd-devel/2015-April/031382.html
Zbigniew Jędrzejewski-Szmek a48f80
(cherry picked from commit 5470c03b37d8421a903564c2c8028c8b8d67d403)
Zbigniew Jędrzejewski-Szmek a48f80
---
Zbigniew Jędrzejewski-Szmek a48f80
 man/coredump.conf.xml         | 4 +++-
Zbigniew Jędrzejewski-Szmek a48f80
 src/journal/coredump-vacuum.c | 5 ++---
Zbigniew Jędrzejewski-Szmek a48f80
 2 files changed, 5 insertions(+), 4 deletions(-)
Zbigniew Jędrzejewski-Szmek a48f80
Zbigniew Jędrzejewski-Szmek a48f80
diff --git a/man/coredump.conf.xml b/man/coredump.conf.xml
Zbigniew Jędrzejewski-Szmek a48f80
index 0b7329bf55..fd54c59e6b 100644
Zbigniew Jędrzejewski-Szmek a48f80
--- a/man/coredump.conf.xml
Zbigniew Jędrzejewski-Szmek a48f80
+++ b/man/coredump.conf.xml
Zbigniew Jędrzejewski-Szmek a48f80
@@ -134,7 +134,9 @@
Zbigniew Jędrzejewski-Szmek a48f80
         by coredumps might temporarily exceed these limits while
Zbigniew Jędrzejewski-Szmek a48f80
         coredumps are processed. Note that old coredumps are also
Zbigniew Jędrzejewski-Szmek a48f80
         removed based on time via
Zbigniew Jędrzejewski-Szmek a48f80
-        <citerefentry><refentrytitle>systemd-tmpfiles</refentrytitle><manvolnum>8</manvolnum></citerefentry>.</para></listitem>
Zbigniew Jędrzejewski-Szmek a48f80
+        <citerefentry><refentrytitle>systemd-tmpfiles</refentrytitle><manvolnum>8</manvolnum></citerefentry>. Set
Zbigniew Jędrzejewski-Szmek a48f80
+        either value to 0 to turn off size based
Zbigniew Jędrzejewski-Szmek a48f80
+        clean-up.</para></listitem>
Zbigniew Jędrzejewski-Szmek a48f80
       </varlistentry>
Zbigniew Jędrzejewski-Szmek a48f80
     </variablelist>
Zbigniew Jędrzejewski-Szmek a48f80
 
Zbigniew Jędrzejewski-Szmek a48f80
diff --git a/src/journal/coredump-vacuum.c b/src/journal/coredump-vacuum.c
Zbigniew Jędrzejewski-Szmek a48f80
index 9b73795e5b..c0347ef569 100644
Zbigniew Jędrzejewski-Szmek a48f80
--- a/src/journal/coredump-vacuum.c
Zbigniew Jędrzejewski-Szmek a48f80
+++ b/src/journal/coredump-vacuum.c
Zbigniew Jędrzejewski-Szmek a48f80
@@ -103,8 +103,7 @@ static bool vacuum_necessary(int fd, off_t sum, off_t keep_free, off_t max_use)
Zbigniew Jędrzejewski-Szmek a48f80
 
Zbigniew Jędrzejewski-Szmek a48f80
                         if (max_use < DEFAULT_MAX_USE_LOWER)
Zbigniew Jędrzejewski-Szmek a48f80
                                 max_use = DEFAULT_MAX_USE_LOWER;
Zbigniew Jędrzejewski-Szmek a48f80
-                }
Zbigniew Jędrzejewski-Szmek a48f80
-                else
Zbigniew Jędrzejewski-Szmek a48f80
+                } else
Zbigniew Jędrzejewski-Szmek a48f80
                         max_use = DEFAULT_MAX_USE_LOWER;
Zbigniew Jędrzejewski-Szmek a48f80
         } else
Zbigniew Jędrzejewski-Szmek a48f80
                 max_use = PAGE_ALIGN(max_use);
Zbigniew Jędrzejewski-Szmek a48f80
@@ -135,7 +134,7 @@ int coredump_vacuum(int exclude_fd, off_t keep_free, off_t max_use) {
Zbigniew Jędrzejewski-Szmek a48f80
         struct stat exclude_st;
Zbigniew Jędrzejewski-Szmek a48f80
         int r;
Zbigniew Jędrzejewski-Szmek a48f80
 
Zbigniew Jędrzejewski-Szmek a48f80
-        if (keep_free <= 0 && max_use <= 0)
Zbigniew Jędrzejewski-Szmek a48f80
+        if (keep_free == 0 && max_use == 0)
Zbigniew Jędrzejewski-Szmek a48f80
                 return 0;
Zbigniew Jędrzejewski-Szmek a48f80
 
Zbigniew Jędrzejewski-Szmek a48f80
         if (exclude_fd >= 0) {