[systemd-commits] src/fstab-generator

Harald Hoyer harald at kemper.freedesktop.org
Mon Mar 4 12:03:04 PST 2013


 src/fstab-generator/fstab-generator.c |   21 ++++++++++++---------
 1 file changed, 12 insertions(+), 9 deletions(-)

New commits:
commit 135b5212d4234f5b75c9b86c9f924047c8d07589
Author: Harald Hoyer <harald at redhat.com>
Date:   Mon Mar 4 21:00:56 2013 +0100

    fstab-generator: only handle block devices with root= kernel command line parameter
    
    skip s.th. like root=nfs:... root=iscsi:... root=nbd:...

diff --git a/src/fstab-generator/fstab-generator.c b/src/fstab-generator/fstab-generator.c
index a8436e6..986f72d 100644
--- a/src/fstab-generator/fstab-generator.c
+++ b/src/fstab-generator/fstab-generator.c
@@ -530,18 +530,21 @@ static int parse_new_root_from_proc_cmdline(void) {
                 free(word);
         }
 
-        if (what) {
+        if (!what) {
+                log_error("Could not find a root= entry on the kernel commandline.");
+                return 0;
+        }
 
-                log_debug("Found entry what=%s where=/sysroot type=%s", what, type);
-                r = add_mount(what, "/sysroot", type, opts, 0, false, false, false,
-                              false, false, true, "/proc/cmdline");
+        if (what[0] != '/') {
+                log_debug("Skipping entry what=%s where=/sysroot type=%s", what, type);
+                return 0;
+        }
 
-                if (r < 0)
-                        return r;
-        } else
-                log_error("Could not find a root= entry on the kernel commandline.");
+        log_debug("Found entry what=%s where=/sysroot type=%s", what, type);
+        r = add_mount(what, "/sysroot", type, opts, 0, false, false, false,
+                      false, false, true, "/proc/cmdline");
 
-        return 0;
+        return (r < 0) ? r : 0;
 }
 
 static int parse_proc_cmdline(void) {



More information about the systemd-commits mailing list