diff options
author | Lennart Poettering <lennart@poettering.net> | 2011-03-03 23:03:26 +0100 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2011-03-03 23:03:26 +0100 |
commit | 2b590e135f53a1bd3e771bdc555f7bf28c4cd232 (patch) | |
tree | 692dcb53426de099bc71ab5ed111d62823e74f2e /src/readahead-collect.c | |
parent | c1b664d055276f47f152fe90d1dd765c384271bc (diff) |
readahead: disable collector automatically on read-only media
Diffstat (limited to 'src/readahead-collect.c')
-rw-r--r-- | src/readahead-collect.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/readahead-collect.c b/src/readahead-collect.c index 330d10776f..0970b58419 100644 --- a/src/readahead-collect.c +++ b/src/readahead-collect.c @@ -639,6 +639,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(); @@ -647,6 +648,13 @@ 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 (fs_on_read_only(root) > 0) { + log_info("Disabling readahead collector due to read-only media."); + return 0; + } + if (!enough_ram()) { log_info("Disabling readahead collector due to low memory."); return 0; @@ -663,7 +671,7 @@ int main(int argc, char *argv[]) { shared->collect = getpid(); __sync_synchronize(); - if (collect(optind < argc ? argv[optind] : "/") < 0) + if (collect(root) < 0) return 1; return 0; |