You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
53 lines
1.9 KiB
53 lines
1.9 KiB
From f5e4e0c8139bc0fe001846fabe83c3220fe4bea7 Mon Sep 17 00:00:00 2001 |
|
From: Lennart Poettering <lennart@poettering.net> |
|
Date: Wed, 28 Nov 2018 12:41:44 +0100 |
|
Subject: [PATCH] mount: don't propagate errors from mount_setup_unit() further |
|
up |
|
|
|
If we can't process a specific line in /proc/self/mountinfo we should |
|
log about it (which we do), but this should not affect other lines, nor |
|
further processing of mount units. Let's keep these failures local. |
|
|
|
Fixes: #10874 |
|
(cherry picked from commit ba0d56f55f2073164799be714b5bd1aad94d059a) |
|
Resolves: #1804757 |
|
--- |
|
src/core/mount.c | 9 +++------ |
|
1 file changed, 3 insertions(+), 6 deletions(-) |
|
|
|
diff --git a/src/core/mount.c b/src/core/mount.c |
|
index 3167bd6bb1..126038c27f 100644 |
|
--- a/src/core/mount.c |
|
+++ b/src/core/mount.c |
|
@@ -1571,7 +1571,7 @@ fail: |
|
static int mount_load_proc_self_mountinfo(Manager *m, bool set_flags) { |
|
_cleanup_(mnt_free_tablep) struct libmnt_table *t = NULL; |
|
_cleanup_(mnt_free_iterp) struct libmnt_iter *i = NULL; |
|
- int r = 0; |
|
+ int r; |
|
|
|
assert(m); |
|
|
|
@@ -1587,7 +1587,6 @@ static int mount_load_proc_self_mountinfo(Manager *m, bool set_flags) { |
|
if (r < 0) |
|
return log_error_errno(r, "Failed to parse /proc/self/mountinfo: %m"); |
|
|
|
- r = 0; |
|
for (;;) { |
|
const char *device, *path, *options, *fstype; |
|
_cleanup_free_ const char *d = NULL, *p = NULL; |
|
@@ -1615,12 +1614,10 @@ static int mount_load_proc_self_mountinfo(Manager *m, bool set_flags) { |
|
|
|
(void) device_found_node(m, d, true, DEVICE_FOUND_MOUNT, set_flags); |
|
|
|
- k = mount_setup_unit(m, d, p, options, fstype, set_flags); |
|
- if (r == 0 && k < 0) |
|
- r = k; |
|
+ (void) mount_setup_unit(m, d, p, options, fstype, set_flags); |
|
} |
|
|
|
- return r; |
|
+ return 0; |
|
} |
|
|
|
static void mount_shutdown(Manager *m) {
|
|
|