From: Zbigniew Jędrzejewski-Szmek Date: Mon, 27 Jan 2014 06:23:20 +0000 (-0500) Subject: core: require mounts for the root and working directories X-Git-Tag: v209~329 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=36be24c8f82141fda995841d177e9e4113e1ef06;p=elogind.git core: require mounts for the root and working directories We know that launching a unit will fail if some required directories haven't been mounted yet. There's no point in starting it just to have it fail even before it gets a chance to run. --- diff --git a/src/core/unit.c b/src/core/unit.c index fc1465834..e5ea994e5 100644 --- a/src/core/unit.c +++ b/src/core/unit.c @@ -671,6 +671,18 @@ int unit_add_exec_dependencies(Unit *u, ExecContext *c) { assert(u); assert(c); + if (c->working_directory) { + r = unit_require_mounts_for(u, c->working_directory); + if (r < 0) + return r; + } + + if (c->root_directory) { + r = unit_require_mounts_for(u, c->root_directory); + if (r < 0) + return r; + } + if (c->std_output != EXEC_OUTPUT_KMSG && c->std_output != EXEC_OUTPUT_SYSLOG && c->std_output != EXEC_OUTPUT_JOURNAL &&