diff options
author | Lennart Poettering <lennart@poettering.net> | 2016-06-24 21:04:48 +0200 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2016-06-24 21:04:48 +0200 |
commit | 003cba39467a87bc2b530d311090b698fb08a993 (patch) | |
tree | f0e41b8541010ae7a4aa3d7d9b32d97a13c3b45f | |
parent | dbf43a1b3a10b8e50eca3866687989ca5b21dabd (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.c | 11 |
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) { |