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

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