[systemd-devel] [PATCH] fstab-generator: respect noauto/nofail when adding sysroot mount
WANG Chao
chaowang at redhat.com
Thu Aug 8 00:18:11 PDT 2013
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().
Signed-off-by: WANG Chao <chaowang at redhat.com>
---
Days ago, I sent a patch to add rd.weak_sysroot. It seems you guys don't like
it, even me neither :(
So I come up with this update. It looks more reasonable. With this patch, I can
set rootflags=nofail to bypass sysroot failure, which blocking
initrd-root-fs.target.
Please put your comments. Thanks!
src/fstab-generator/fstab-generator.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/src/fstab-generator/fstab-generator.c b/src/fstab-generator/fstab-generator.c
index c17299f..87b17cd 100644
--- a/src/fstab-generator/fstab-generator.c
+++ b/src/fstab-generator/fstab-generator.c
@@ -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;
--
1.8.3.1
More information about the systemd-devel
mailing list