]> arthur.barton.de Git - netdata.git/commitdiff
create directories /var/cache/netdata and /var/lib/netdata if they are missing
authorCosta Tsaousis (ktsaou) <costa@tsaousis.gr>
Tue, 5 Jul 2016 06:59:36 +0000 (09:59 +0300)
committerCosta Tsaousis (ktsaou) <costa@tsaousis.gr>
Tue, 5 Jul 2016 06:59:36 +0000 (09:59 +0300)
src/registry.c
src/rrd.c

index 203b846e05de65496becc846623f29b9fcd508b7..26004d4d9076d5596bbf4c78336105c57ce0ea8d 100644 (file)
@@ -1642,6 +1642,9 @@ int registry_init(void) {
        // registry enabled?
        registry.enabled = config_get_boolean("registry", "enabled", 0);
 
+       if(mkdir(VARLIB_DIR, 0755) == -1 && errno != EEXIST)
+               error("Cannot create directory '" VARLIB_DIR "'");
+
        // pathnames
        registry.pathname = config_get("registry", "registry db directory", VARLIB_DIR "/registry");
        if(mkdir(registry.pathname, 0755) == -1 && errno != EEXIST) {
index 208d741c9a4d7a11b460a811b01a4c3c77d5ac43..327e9ccb5c256959e8c3d1a7e5788e2d05aae1a1 100644 (file)
--- a/src/rrd.c
+++ b/src/rrd.c
@@ -277,7 +277,12 @@ char *rrdset_cache_dir(const char *id)
        char *ret = NULL;
 
        static char *cache_dir = NULL;
-       if(!cache_dir) cache_dir = config_get("global", "cache directory", CACHE_DIR);
+       if(!cache_dir) {
+               cache_dir = config_get("global", "cache directory", CACHE_DIR);
+               int r = mkdir(cache_dir, 0755);
+               if(r != 0 && errno != EEXIST)
+                       error("Cannot create directory '%s'", cache_dir);
+       }
 
        char b[FILENAME_MAX + 1];
        char n[FILENAME_MAX + 1];