chiark / gitweb /
systemctl: fix corrupted output of units
[elogind.git] / src / readahead-replay.c
index 3984c36c3e4dfdb2deab50d0efbcc06049de99d3..65011ac4be3996d0ff41f92f44e889fdf3cb289a 100644 (file)
@@ -41,6 +41,7 @@
 #include "sd-daemon.h"
 #include "ioprio.h"
 #include "readahead-common.h"
+#include "virt.h"
 
 static off_t arg_file_size_max = READAHEAD_FILE_SIZE_MAX;
 
@@ -122,7 +123,8 @@ static int replay(const char *root) {
         FILE *pack = NULL;
         char line[LINE_MAX];
         int r = 0;
-        char *pack_fn = NULL, c;
+        char *pack_fn = NULL;
+        int c;
         bool on_ssd, ready = false;
         int prio;
         int inotify_fd = -1;
@@ -192,7 +194,7 @@ static int replay(const char *root) {
 
         log_debug("Replaying...");
 
-        if (access("/dev/.run/systemd/readahead/noreplay", F_OK) >= 0) {
+        if (access("/run/systemd/readahead/noreplay", F_OK) >= 0) {
                 log_debug("Got termination request");
                 goto done;
         }
@@ -339,6 +341,8 @@ int main(int argc, char*argv[]) {
         log_parse_environment();
         log_open();
 
+        umask(0022);
+
         if ((r = parse_argv(argc, argv)) <= 0)
                 return r < 0 ? EXIT_FAILURE : EXIT_SUCCESS;