From: Harald Hoyer <har...@redhat.com> --- src/fstab-generator/fstab-generator.c | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-)
diff --git a/src/fstab-generator/fstab-generator.c b/src/fstab-generator/fstab-generator.c index 910bbc1..b5fe0fa 100644 --- a/src/fstab-generator/fstab-generator.c +++ b/src/fstab-generator/fstab-generator.c @@ -449,6 +449,7 @@ static int parse_new_root_from_proc_cmdline(void) { char *w, *state; _cleanup_free_ char *what = NULL, *type = NULL, *opts = NULL, *line = NULL; int r; + int fsck_passno = 0; size_t l; r = read_one_line_file("/proc/cmdline", &line); @@ -490,7 +491,16 @@ static int parse_new_root_from_proc_cmdline(void) { if (!opts) return log_oom(); - } else if (streq(word, "ro") || streq(word, "rw")) { + } else if (streq(word, "ro")) { + fsck_passno = 0; + tmp_word = opts; + opts = strjoin(opts, ",", word, NULL); + free(tmp_word); + if (!opts) + return log_oom(); + + } else if (streq(word, "rw")) { + fsck_passno = 1; tmp_word = opts; opts = strjoin(opts, ",", word, NULL); free(tmp_word); @@ -513,7 +523,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, fsck_passno, false, false, false, false, false, "/proc/cmdline"); return (r < 0) ? r : 0; -- 1.8.1 _______________________________________________ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel