core/mount: mount_start() may be called during the state is MOUNT_MOUNTING_DONE
authorYu Watanabe <watanabe.yu+github@gmail.com>
Tue, 17 Nov 2020 01:50:12 +0000 (10:50 +0900)
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Tue, 8 Dec 2020 17:08:31 +0000 (18:08 +0100)
As, both MOUNT_MOUNTING and MOUNT_MOUNTING_DONE are mapped to
UNIT_ACTIVATING.

Fixes #17570.

(cherry picked from commit db39a62784e8f857a67cb4a83ade28a906f79679)

src/core/mount.c

index 337e94e90e40fab47ab4a166db38f9ae730098ee..782cd7334e0c3fe2caa5316bc6be52e66d889875 100644 (file)
@@ -1147,7 +1147,7 @@ static int mount_start(Unit *u) {
                 return -EAGAIN;
 
         /* Already on it! */
-        if (m->state == MOUNT_MOUNTING)
+        if (IN_SET(m->state, MOUNT_MOUNTING, MOUNT_MOUNTING_DONE))
                 return 0;
 
         assert(IN_SET(m->state, MOUNT_DEAD, MOUNT_FAILED));