shared/install: warn about DefaultInstance in non-template units

[/etc/systemd/system/mnt-test.mount:6] DefaultInstance only makes sense for template units, ignoring.
This commit is contained in:
Zbigniew Jędrzejewski-Szmek 2016-04-30 17:08:38 -04:00
parent ce99c68a33
commit 6597fa6117

View file

@ -1003,6 +1003,7 @@ static int config_parse_default_instance(
void *userdata) {
UnitFileInstallInfo *i = data;
const char *name;
char *printed;
int r;
@ -1010,6 +1011,15 @@ static int config_parse_default_instance(
assert(lvalue);
assert(rvalue);
name = basename(filename);
if (unit_name_is_valid(name, UNIT_NAME_INSTANCE))
/* When enabling an instance, we might be using a template unit file,
* but we should ignore DefaultInstance silently. */
return 0;
if (!unit_name_is_valid(name, UNIT_NAME_TEMPLATE))
return log_syntax(unit, LOG_WARNING, filename, line, 0,
"DefaultInstance only makes sense for template units, ignoring.");
r = install_full_printf(i, rvalue, &printed);
if (r < 0)
return r;