Skip to content

Commit

Permalink
mount: don't propagate errors from mount_setup_unit() further up
Browse files Browse the repository at this point in the history
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
  • Loading branch information
poettering committed Dec 7, 2018
1 parent 3f459cd commit ba0d56f
Showing 1 changed file with 3 additions and 6 deletions.
9 changes: 3 additions & 6 deletions src/core/mount.c
Original file line number Diff line number Diff line change
Expand Up @@ -1614,7 +1614,7 @@ static int mount_setup_unit(
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);

Expand All @@ -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;
Expand Down Expand Up @@ -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) {
Expand Down

0 comments on commit ba0d56f

Please sign in to comment.