| From ba0d56f55f2073164799be714b5bd1aad94d059a 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 |
| --- |
| 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 f5aa90e3df..7671507735 100644 |
| --- a/src/core/mount.c |
| +++ b/src/core/mount.c |
| @@ -1614,7 +1614,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); |
| |
| @@ -1627,7 +1627,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 (;;) { |
| struct libmnt_fs *fs; |
| const char *device, *path, *options, *fstype; |
| @@ -1656,12 +1655,10 @@ static int mount_load_proc_self_mountinfo(Manager *m, bool set_flags) { |
| |
| device_found_node(m, d, DEVICE_FOUND_MOUNT, DEVICE_FOUND_MOUNT); |
| |
| - 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) { |
| -- |
| 2.26.0.rc2.310.g2932bb562d-goog |
| |