chiark / gitweb /
honor SELinux labels, when creating and writing config files
[elogind.git] / src / quotacheck / quotacheck.c
index e4420eeb1bdf46105c76140f0fe07e73009e398c..32f3ff904d7998e237f46b0c126d19742551009c 100644 (file)
@@ -27,6 +27,7 @@
 
 #include "util.h"
 #include "virt.h"
+#include "fileio.h"
 
 static bool arg_skip = false;
 static bool arg_force = false;
@@ -52,11 +53,13 @@ static int parse_proc_cmdline(void) {
                         arg_force = true;
                 else if (strneq(w, "quotacheck.mode=skip", l))
                         arg_skip = true;
-                else if (startswith(w, "quotacheck.mode"))
-                        log_warning("Invalid quotacheck.mode= parameter. Ignoring.");
-#if defined(TARGET_FEDORA) || defined(TARGET_MANDRIVA) || defined(TARGET_MAGEIA)
-                else if (strneq(w, "forcequotacheck", l))
+                else if (startswith(w, "quotacheck"))
+                        log_warning("Invalid quotacheck parameter. Ignoring.");
+#ifdef HAVE_SYSV_COMPAT
+                else if (strneq(w, "forcequotacheck", l)) {
+                        log_error("Please use 'quotacheck.mode=force' rather than 'forcequotacheck' on the kernel command line.");
                         arg_force = true;
+                }
 #endif
         }
 
@@ -65,10 +68,11 @@ static int parse_proc_cmdline(void) {
 }
 
 static void test_files(void) {
-#if defined(TARGET_FEDORA) || defined(TARGET_MANDRIVA) || defined(TARGET_MAGEIA)
-        /* This exists only on Fedora, Mandriva or Mageia */
-        if (access("/forcequotacheck", F_OK) >= 0)
+#ifdef HAVE_SYSV_COMPAT
+        if (access("/forcequotacheck", F_OK) >= 0) {
+                log_error("Please pass 'quotacheck.mode=force' on the kernel command line rather than creating /forcequotacheck on the root file system.");
                 arg_force = true;
+        }
 #endif
 }