chiark / gitweb /
readahead: disable readahead in virtual machines
[elogind.git] / src / readahead-collect.c
index a9f544dd3ac4a29e30df58b139642a3ef88daa9b..4ca6d74726d9ee06a59c913794fc3c84be406ea3 100644 (file)
@@ -92,6 +92,10 @@ static int pack_file(FILE *pack, const char *fn, bool on_btrfs) {
         assert(fn);
 
         if ((fd = open(fn, O_RDONLY|O_CLOEXEC|O_NOATIME|O_NOCTTY|O_NOFOLLOW)) < 0) {
+
+                if (errno == ENOENT)
+                        return 0;
+
                 log_warning("open(%s) failed: %m", fn);
                 r = -errno;
                 goto finish;
@@ -645,6 +649,11 @@ int main(int argc, char *argv[]) {
                 return 0;
         }
 
+        if (running_in_vm()) {
+                log_info("Disabling readahead collector due to execution in virtual machine.");
+                return 0;
+        }
+
         if (!(shared = shared_get()))
                 return 1;