core: Do not fail perpetual mount units without fragment (#6459)

mount_load does not require fragment files to be present in order to
load mount units which are perpetual, or come from /proc/self/mountinfo.

mount_verify should do the same, otherwise a synthesized '-.mount' would
be marked as failed with "No such file or directory", as it is perpetual
but not marked to come from /proc/self/mountinfo at this point.

This happens for the user instance, and I suspect it was the cause of #5375
for the system instance, without gpt-generator.
This commit is contained in:
Abdó Roig-Maranges 2017-07-31 12:32:09 +02:00 committed by Lennart Poettering
parent e362b5a77f
commit 1df96fcb31
1 changed files with 1 additions and 1 deletions

View File

@ -503,7 +503,7 @@ static int mount_verify(Mount *m) {
if (UNIT(m)->load_state != UNIT_LOADED)
return 0;
if (!m->from_fragment && !m->from_proc_self_mountinfo)
if (!m->from_fragment && !m->from_proc_self_mountinfo && !UNIT(m)->perpetual)
return -ENOENT;
r = unit_name_from_path(m->where, ".mount", &e);