From: Michal Schmidt Date: Thu, 28 Jun 2012 23:50:31 +0000 (+0200) Subject: mount: load only if we there's mountinfo or fragment X-Git-Tag: v186~35 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=8eba616fc09b854d13de5dacc5b31b1009c4e8d4 mount: load only if we there's mountinfo or fragment Having information from /proc/self/mountinfo is sufficient to consider a mount unit loaded. When there's no mountinfo, the loading of the fragment for the mount unit is not optional. No extra dependency links must be added when the loading fails. https://bugzilla.redhat.com/show_bug.cgi?id=835848 --- diff --git a/src/core/mount.c b/src/core/mount.c index 5364b5dd7..3d513a051 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)) ||