X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Freadahead-replay.c;h=3bea9295fc6795a2e4896388ba164424a9a94338;hp=9447fe0775bda3ee034ae4252b0750884c19c275;hb=1de4d79bf554946f486adf56ed765c5335816f15;hpb=a76fad090a6a1388fbaa609e8ca37e82223d2bd7 diff --git a/src/readahead-replay.c b/src/readahead-replay.c index 9447fe077..3bea9295f 100644 --- a/src/readahead-replay.c +++ b/src/readahead-replay.c @@ -333,6 +333,7 @@ static int parse_argv(int argc, char *argv[]) { int main(int argc, char*argv[]) { int r; + const char *root; log_set_target(LOG_TARGET_SYSLOG_OR_KMSG); log_parse_environment(); @@ -341,13 +342,15 @@ int main(int argc, char*argv[]) { if ((r = parse_argv(argc, argv)) <= 0) return r < 0 ? EXIT_FAILURE : EXIT_SUCCESS; + root = optind < argc ? argv[optind] : "/"; + if (!enough_ram()) { log_info("Disabling readahead replay due to low memory."); return 0; } - if (running_in_vm()) { - log_info("Disabling readahead replay due to execution in virtual machine."); + if (detect_virtualization(NULL) > 0) { + log_info("Disabling readahead replay due to execution in virtualized environment."); return 0; } @@ -357,7 +360,7 @@ int main(int argc, char*argv[]) { shared->replay = getpid(); __sync_synchronize(); - if (replay(optind < argc ? argv[optind] : "/") < 0) + if (replay(root) < 0) return 1; return 0;