summaryrefslogtreecommitdiff
path: root/src/core/mount.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/mount.c')
-rw-r--r--src/core/mount.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/core/mount.c b/src/core/mount.c
index 5364b5dd7c..3d513a051e 100644
--- a/src/core/mount.c
+++ b/src/core/mount.c
@@ -618,7 +618,11 @@ static int mount_load(Unit *u) {
assert(u);
assert(u->load_state == UNIT_STUB);
- r = unit_load_fragment_and_dropin_optional(u);
+ if (m->from_proc_self_mountinfo)
+ r = unit_load_fragment_and_dropin_optional(u);
+ else
+ r = unit_load_fragment_and_dropin(u);
+
if (r < 0)
return r;
@@ -1436,6 +1440,14 @@ static int mount_add_one(
} else {
delete = false;
free(e);
+
+ if (u->load_state == UNIT_ERROR) {
+ u->load_state = UNIT_LOADED;
+ u->load_error = 0;
+ r = mount_add_extras(MOUNT(u));
+ if (r < 0)
+ goto fail;
+ }
}
if (!(w = strdup(what)) ||