From 6597fa61173a16d9d93141a749badad67c4b4aa8 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Sat, 30 Apr 2016 17:08:38 -0400 Subject: [PATCH] shared/install: warn about DefaultInstance in non-template units [/etc/systemd/system/mnt-test.mount:6] DefaultInstance only makes sense for template units, ignoring. --- src/shared/install.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/shared/install.c b/src/shared/install.c index cc39aaf6773..f89e2c63877 100644 --- a/src/shared/install.c +++ b/src/shared/install.c @@ -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; -- 2.47.3