This looks good. However, how do you deal with btrfs? Instal a fake fsck?
On Mar 8, 2013 2:14 AM, <har...@redhat.com> wrote: > > 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
_______________________________________________ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel