diff -Nru systemd-237/debian/changelog systemd-237/debian/changelog --- systemd-237/debian/changelog 2018-11-19 18:48:47.000000000 +0100 +++ systemd-237/debian/changelog 2018-12-19 17:49:24.000000000 +0100 @@ -1,3 +1,11 @@ +systemd (237-3ubuntu10.11) bionic; urgency=medium + + * d/p/stop-mount-error-propagation.patch: keep mount errors local to the + failing mount point instead of blocking the processing of all mounts (LP: #1755863) + (cherry picked from commit c165888426ef99440418592a8cdbaff4b7c319b3) + + -- Victor Tapia Wed, 19 Dec 2018 17:49:24 +0100 + systemd (237-3ubuntu10.10) bionic; urgency=medium * debian/extra/start-udev: ignore failure to set sync parameter. diff -Nru systemd-237/debian/patches/series systemd-237/debian/patches/series --- systemd-237/debian/patches/series 2018-11-19 18:48:17.000000000 +0100 +++ systemd-237/debian/patches/series 2018-12-19 17:49:24.000000000 +0100 @@ -93,3 +93,4 @@ core-execute-environment_generators-with-manager-s-enviro.patch core-execute-generators-with-manager-s-environmnet.patch networkd-add-support-to-configure-IPv6-MTU-8664.patch +stop-mount-error-propagation.patch diff -Nru systemd-237/debian/patches/stop-mount-error-propagation.patch systemd-237/debian/patches/stop-mount-error-propagation.patch --- systemd-237/debian/patches/stop-mount-error-propagation.patch 1970-01-01 01:00:00.000000000 +0100 +++ systemd-237/debian/patches/stop-mount-error-propagation.patch 2018-12-19 17:49:24.000000000 +0100 @@ -0,0 +1,46 @@ +commit c165888426ef99440418592a8cdbaff4b7c319b3 +Author: Lennart Poettering +Date: Wed Nov 28 12:41:44 2018 +0100 + + 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 + +--- a/src/core/mount.c ++++ b/src/core/mount.c +@@ -1597,7 +1597,7 @@ + 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); + +@@ -1613,7 +1613,6 @@ + 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_ char *d = NULL, *p = NULL; +@@ -1642,12 +1641,10 @@ + + (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) {