dump_systemstate: Add /opt/usr disk usage section 47/229647/3
authorKarol Lewandowski <k.lewandowsk@samsung.com>
Thu, 2 Apr 2020 11:37:03 +0000 (13:37 +0200)
committerKarol Lewandowski <k.lewandowsk@samsung.com>
Thu, 2 Apr 2020 12:26:24 +0000 (14:26 +0200)
Change-Id: Ib52cba397f7272c14dcb7623efc85535d4d98d8e

src/dump_systemstate/dump_systemstate.c

index 149bfb0..814acda 100644 (file)
@@ -32,6 +32,7 @@
 #include <limits.h>
 #include <getopt.h>
 #include <sys/stat.h>
+#include <sys/types.h>
 #include <sys/vfs.h>
 
 #include "dump_systemstate.h"
@@ -88,6 +89,17 @@ static int get_disk_used_percent(const char *path)
        return percent;
 }
 
+static dev_t get_disk_device(const char *path)
+{
+       assert(path);
+
+       struct stat st;
+       if (stat(path, &st) < 0)
+               return -1;
+
+       return st.st_dev;
+}
+
 int main(int argc, char *argv[])
 {
        int c, ret, i, dpercent, exit_code = 0;
@@ -182,6 +194,16 @@ int main(int argc, char *argv[])
                spawn_wait_checked(du_args, NULL);
        }
 
+       if (get_disk_device("/opt") != get_disk_device("/opt/usr")) {
+               dpercent = get_disk_used_percent("/opt/usr");
+
+               if (90 < dpercent) {
+                       fprintf_fd(out_fd, "\n==== System disk space usage detail - %d%% (/bin/du -ah /opt/usr)\n", dpercent);
+                       char *du_args[] = {"/bin/du", "-ah", "/opt/usr", NULL};
+                       spawn_wait_checked(du_args, NULL);
+               }
+       }
+
        dpercent = get_disk_used_percent("/tmp");
        if (80 < dpercent) {
                fprintf_fd(out_fd, "\n==== tmp usage detail - %d%% (/bin/du -ah /tmp)\n", dpercent);