From: Zbigniew Jędrzejewski-Szmek Date: Sat, 30 Apr 2016 21:08:38 +0000 (-0400) Subject: shared/install: warn about DefaultInstance in non-template units X-Git-Tag: v230~101^2~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6597fa61173a16d9d93141a749badad67c4b4aa8;p=thirdparty%2Fsystemd.git shared/install: warn about DefaultInstance in non-template units [/etc/systemd/system/mnt-test.mount:6] DefaultInstance only makes sense for template units, ignoring. --- 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;