chiark / gitweb /
fstab-generator: respect noauto/nofail when adding sysroot mount
authorWANG Chao <chaowang@redhat.com>
Thu, 8 Aug 2013 07:18:11 +0000 (15:18 +0800)
committerTom Gundersen <teg@jklm.no>
Fri, 9 Aug 2013 00:04:51 +0000 (02:04 +0200)
Currently we don't respect noauto/nofail root mount options (from
rootflags kernel cmdline). We should map these two flags to the
corresponding boolean variable noauto and nofail when calling
add_mount().

src/fstab-generator/fstab-generator.c

index c17299f..87b17cd 100644 (file)
@@ -492,6 +492,7 @@ static int parse_new_root_from_proc_cmdline(void) {
         char *w, *state;
         int r;
         size_t l;
+        bool noauto, nofail;
 
         r = read_one_line_file("/proc/cmdline", &line);
         if (r < 0) {
@@ -547,6 +548,9 @@ static int parse_new_root_from_proc_cmdline(void) {
                 }
         }
 
+        noauto = !!strstr(opts, "noauto");
+        nofail = !!strstr(opts, "nofail");
+
         if (!what) {
                 log_debug("Could not find a root= entry on the kernel commandline.");
                 return 0;
@@ -558,7 +562,7 @@ static int parse_new_root_from_proc_cmdline(void) {
         }
 
         log_debug("Found entry what=%s where=/sysroot type=%s", what, type);
-        r = add_mount(what, "/sysroot", type, opts, 0, false, false, false,
+        r = add_mount(what, "/sysroot", type, opts, 0, noauto, nofail, false,
                       false, NULL, NULL, NULL, SPECIAL_INITRD_ROOT_FS_TARGET, "/proc/cmdline");
 
         return (r < 0) ? r : 0;