chiark / gitweb /
fsck: remove distro specific hacks from fsck/quotacheck
authorLennart Poettering <lennart@poettering.net>
Fri, 4 Jan 2013 21:00:46 +0000 (22:00 +0100)
committerLennart Poettering <lennart@poettering.net>
Fri, 4 Jan 2013 22:26:20 +0000 (23:26 +0100)
Move forcefsck file checks under a HAVE_SYSV_COMPAT #ifdef, and warn if this is used.

src/fsck/fsck.c
src/quotacheck/quotacheck.c

index 058f34d..f5d38ad 100644 (file)
@@ -128,11 +128,14 @@ static int parse_proc_cmdline(void) {
                         arg_skip = true;
                 else if (startswith(w, "fsck"))
                         log_warning("Invalid fsck parameter. Ignoring.");
                         arg_skip = true;
                 else if (startswith(w, "fsck"))
                         log_warning("Invalid fsck parameter. Ignoring.");
-#if defined(TARGET_FEDORA) || defined(TARGET_MANDRIVA) || defined(TARGET_MAGEIA)
-                else if (strneq(w, "fastboot", l))
+#ifdef HAVE_SYSV_COMPAT
+                else if (strneq(w, "fastboot", l)) {
+                        log_error("Please pass 'fsck.mode=skip' rather than 'fastboot' on the kernel command line.");
                         arg_skip = true;
                         arg_skip = true;
-                else if (strneq(w, "forcefsck", l))
+                } else if (strneq(w, "forcefsck", l)) {
+                        log_error("Please pass 'fsck.mode=force' rather than 'forcefsck' on the kernel command line.");
                         arg_force = true;
                         arg_force = true;
+                }
 #endif
         }
 
 #endif
         }
 
@@ -141,11 +144,17 @@ static int parse_proc_cmdline(void) {
 }
 
 static void test_files(void) {
 }
 
 static void test_files(void) {
-        if (access("/fastboot", F_OK) >= 0)
+#ifdef HAVE_SYSV_COMPAT
+        if (access("/fastboot", F_OK) >= 0) {
+                log_error("Please pass 'fsck.mode=skip' on the kernel command line rather than creating /fastboot on the root file system.");
                 arg_skip = true;
                 arg_skip = true;
+        }
 
 
-        if (access("/forcefsck", F_OK) >= 0)
+        if (access("/forcefsck", F_OK) >= 0) {
+                log_error("Please pass 'fsck.mode=force' on the kernel command line rather than creating /forcefsck on the root file system.");
                 arg_force = true;
                 arg_force = true;
+        }
+#endif
 
         if (access("/run/systemd/show-status", F_OK) >= 0 || plymouth_running())
                 arg_show_progress = true;
 
         if (access("/run/systemd/show-status", F_OK) >= 0 || plymouth_running())
                 arg_show_progress = true;
index 05e4971..e7a4405 100644 (file)
@@ -54,9 +54,11 @@ static int parse_proc_cmdline(void) {
                         arg_skip = true;
                 else if (startswith(w, "quotacheck"))
                         log_warning("Invalid quotacheck parameter. Ignoring.");
                         arg_skip = true;
                 else if (startswith(w, "quotacheck"))
                         log_warning("Invalid quotacheck parameter. Ignoring.");
-#if defined(TARGET_FEDORA) || defined(TARGET_MANDRIVA) || defined(TARGET_MAGEIA)
-                else if (strneq(w, "forcequotacheck", l))
+#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;
                         arg_force = true;
+                }
 #endif
         }
 
 #endif
         }
 
@@ -65,10 +67,11 @@ static int parse_proc_cmdline(void) {
 }
 
 static void test_files(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;
                 arg_force = true;
+        }
 #endif
 }
 
 #endif
 }