summaryrefslogtreecommitdiffstats
path: root/src/core/mount.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/mount.c')
-rw-r--r--src/core/mount.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/core/mount.c b/src/core/mount.c
index faa2cb0e03..8e83de0ba8 100644
--- a/src/core/mount.c
+++ b/src/core/mount.c
@@ -1948,6 +1948,15 @@ static int mount_process_proc_self_mountinfo(Manager *m) {
mount_enter_dead(mount, MOUNT_SUCCESS);
break;
+ case MOUNT_MOUNTING_DONE:
+ /* The mount command may add the corresponding proc mountinfo entry and
+ * then remove it because of an internal error. E.g., fuse.sshfs seems
+ * to do that when the connection fails. See #17617. To handle such the
+ * case, let's once set the state back to mounting. Then, the unit can
+ * correctly enter the failed state later in mount_sigchld(). */
+ mount_set_state(mount, MOUNT_MOUNTING);
+ break;
+
default:
break;
}