diff options
author | Yu Watanabe <watanabe.yu+github@gmail.com> | 2020-11-17 01:13:59 +0100 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2020-11-25 13:53:26 +0100 |
commit | 2fa0bd7d57863dffda89190a70a83c51bd7d114a (patch) | |
tree | a30ef664c9a3d15b07280e203cade037b628c533 /src/core/mount.c | |
parent | Merge pull request #17715 from yuwata/specifier-follow-ups (diff) | |
download | systemd-2fa0bd7d57863dffda89190a70a83c51bd7d114a.tar.xz systemd-2fa0bd7d57863dffda89190a70a83c51bd7d114a.zip |
core/mount: mount command may fail after adding the corresponding proc mountinfo entry
Hopefully fixes #17617.
Diffstat (limited to 'src/core/mount.c')
-rw-r--r-- | src/core/mount.c | 9 |
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; } |