summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2016-06-24 21:04:48 +0200
committerLennart Poettering <lennart@poettering.net>2016-06-24 21:04:48 +0200
commit003cba39467a87bc2b530d311090b698fb08a993 (patch)
treef0e41b8541010ae7a4aa3d7d9b32d97a13c3b45f
parentdbf43a1b3a10b8e50eca3866687989ca5b21dabd (diff)
fstab-generator: don't skip /usr handling if root handling didn't work correctly
Let's follow the same logic for all mounts here: log errors, and exit the process uncleanly ultimately, but do not skip further mounts if we encounter a problem with an earlier one. Fixes: #2344
-rw-r--r--src/fstab-generator/fstab-generator.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/fstab-generator/fstab-generator.c b/src/fstab-generator/fstab-generator.c
index 26fccbe360..8688ae51c9 100644
--- a/src/fstab-generator/fstab-generator.c
+++ b/src/fstab-generator/fstab-generator.c
@@ -683,10 +683,15 @@ int main(int argc, char *argv[]) {
/* Always honour root= and usr= in the kernel command line if we are in an initrd */
if (in_initrd()) {
+ int k;
+
r = add_sysroot_mount();
- if (r == 0)
- r = add_sysroot_usr_mount();
- }
+
+ k = add_sysroot_usr_mount();
+ if (k < 0)
+ r = k;
+ } else
+ r = 0;
/* Honour /etc/fstab only when that's enabled */
if (arg_fstab_enabled) {