Blame SOURCES/0272-dirsize-Skip-dirs-in-which-sosreport-is-being-genera.patch

b12e4c
From eef59d2358cf63338f38727c5d08be70619e4e55 Mon Sep 17 00:00:00 2001
b12e4c
From: Martin Kutlak <mkutlak@redhat.com>
b12e4c
Date: Wed, 14 Aug 2019 16:46:08 +0200
b12e4c
Subject: [PATCH] dirsize: Skip dirs in which sosreport is being generated
b12e4c
b12e4c
With these changes ABRT will skip directories in which sosreport is running
b12e4c
and won't delete them when MaxCrashReportSize limit is exceeded.
b12e4c
b12e4c
I had a concern about the size of the logs that sosreport collects but
b12e4c
there is a limit set by sosreport for how big the individual logs can
b12e4c
be and the default value is 25MiB.
b12e4c
b12e4c
Fixes: rhbz#1671232
b12e4c
b12e4c
Signed-off-by: Martin Kutlak <mkutlak@redhat.com>
b12e4c
---
b12e4c
 src/lib/dirsize.c | 5 +++++
b12e4c
 1 file changed, 5 insertions(+)
b12e4c
b12e4c
diff --git a/src/lib/dirsize.c b/src/lib/dirsize.c
b12e4c
index 6d96e71..7ee9752 100644
b12e4c
--- a/src/lib/dirsize.c
b12e4c
+++ b/src/lib/dirsize.c
b12e4c
@@ -91,6 +91,11 @@ double get_dirsize_find_largest_dir(
b12e4c
         if (dot_or_dotdot(ep->d_name))
b12e4c
             continue;
b12e4c
         char *dname = concat_path_file(pPath, ep->d_name);
b12e4c
+        if (lstat(concat_path_file(dname, "sosreport.log"), &statbuf) == 0)
b12e4c
+        {
b12e4c
+            log_debug("Skipping %s': sosreport is being generated.", dname);
b12e4c
+            goto next;
b12e4c
+        }
b12e4c
         if (lstat(dname, &statbuf) != 0)
b12e4c
         {
b12e4c
             goto next;
b12e4c
-- 
b12e4c
2.21.0
b12e4c