]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
mount: when the kernel reports a mount to be established reset all kinds of load...
authorLennart Poettering <lennart@poettering.net>
Wed, 28 Nov 2018 13:58:18 +0000 (14:58 +0100)
committerLennart Poettering <lennart@poettering.net>
Fri, 7 Dec 2018 16:35:32 +0000 (17:35 +0100)
It doesn't matter what kind of precise failure we had earlier with
loading the unit, let's report that it loaded successfully now, after
all the kernel is an OK source for that, like any other.

src/core/mount.c

index d0352c933f92fa0cd55a10f69f4dacd11614f842..477c2cbafaeecfbecf68f38447dade64361ce2d6 100644 (file)
@@ -1533,7 +1533,9 @@ static int mount_setup_existing_unit(
 
         MOUNT(u)->from_proc_self_mountinfo = true;
 
-        if (u->load_state == UNIT_NOT_FOUND) {
+        if (IN_SET(u->load_state, UNIT_NOT_FOUND, UNIT_BAD_SETTING, UNIT_ERROR)) {
+                /* The unit was previously not found or otherwise not loaded. Now that the unit shows up in
+                 * /proc/self/mountinfo we should reconsider it this, hence set it to UNIT_LOADED. */
                 u->load_state = UNIT_LOADED;
                 u->load_error = 0;