X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Fquotacheck.c;h=ba12b27caa269215f50bdc1feabbb12991a609a6;hp=a579c5e8b713727cd9c7476dff17dd6b2c1aac0c;hb=455a946f40c0f9d158f0494cec043f6e028848d7;hpb=3d20ed6d51e38968cd646e2b3b24f36673408024 diff --git a/src/quotacheck.c b/src/quotacheck.c index a579c5e8b..ba12b27ca 100644 --- a/src/quotacheck.c +++ b/src/quotacheck.c @@ -35,6 +35,9 @@ static int parse_proc_cmdline(void) { int r; size_t l; + if (detect_container(NULL) > 0) + return 0; + if ((r = read_one_line_file("/proc/cmdline", &line)) < 0) { log_warning("Failed to read /proc/cmdline, ignoring: %s", strerror(-r)); return 0; @@ -50,7 +53,7 @@ static int parse_proc_cmdline(void) { arg_skip = true; else if (startswith(w, "quotacheck.mode")) log_warning("Invalid quotacheck.mode= parameter. Ignoring."); -#ifdef TARGET_FEDORA +#if defined(TARGET_FEDORA) || defined(TARGET_MANDRIVA) else if (strneq(w, "forcequotacheck", l)) arg_force = true; #endif @@ -61,9 +64,9 @@ static int parse_proc_cmdline(void) { } static void test_files(void) { -#ifdef TARGET_FEDORA - /* This exists only on Fedora */ - if (access("/forcequoatcheck", F_OK) >= 0) +#if defined(TARGET_FEDORA) || defined(TARGET_MANDRIVA) + /* This exists only on Fedora or Mandriva */ + if (access("/forcequotacheck", F_OK) >= 0) arg_force = true; #endif } @@ -91,11 +94,10 @@ int main(int argc, char *argv[]) { test_files(); if (!arg_force) { - if (arg_skip) return 0; - if (access("/dev/.systemd/quotacheck", F_OK) < 0) + if (access("/run/systemd/quotacheck", F_OK) < 0) return 0; } @@ -108,7 +110,7 @@ int main(int argc, char *argv[]) { _exit(1); /* Operational error */ } - r = wait_for_terminate_and_warn("quotacheck", pid) >= 0 ? EXIT_SUCCESS : EXIT_FAILURE; + r = wait_for_terminate_and_warn("quotacheck", pid) == 0 ? EXIT_SUCCESS : EXIT_FAILURE; finish: return r;