From: Jan Janssen Date: Thu, 8 Mar 2018 17:46:58 +0000 (+0100) Subject: umount: Try unmounting even if remounting read-only failed X-Git-Tag: v239~550^2~2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8645ffd12b3cc7b0292acd9e1d691c4fab4cf409;p=thirdparty%2Fsystemd.git umount: Try unmounting even if remounting read-only failed In the case of some api filesystems remounting read-only fails while unmounting succeeds. --- diff --git a/src/core/umount.c b/src/core/umount.c index 9770bdb1da6..40153defe5d 100644 --- a/src/core/umount.c +++ b/src/core/umount.c @@ -519,16 +519,19 @@ static int mount_points_list_umount(MountPoint **head, bool *changed) { * somehwere else via a bind mount. If we * explicitly remount the super block of that * alias read-only we hence should be - * relatively safe regarding keeping dirty an fs + * relatively safe regarding keeping a dirty fs * we cannot otherwise see. * * Since the remount can hang in the instance of * remote filesystems, we remount asynchronously - * and skip the subsequent umount if it fails */ + * and skip the subsequent umount if it fails. */ if (remount_with_timeout(m) < 0) { - if (nonunmountable_path(m->path)) + /* Remount failed, but try unmounting anyway, + * unless this is a mount point we want to skip. */ + if (nonunmountable_path(m->path)) { n_failed++; - continue; + continue; + } } }