From: Zbigniew Jędrzejewski-Szmek Date: Fri, 29 May 2020 09:22:14 +0000 (+0200) Subject: core: rework error messages in unit_add_name() X-Git-Tag: v246-rc1~167^2~2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=ada4b34ec7159e01af11068f99b28cce8a891ad1;p=thirdparty%2Fsystemd.git core: rework error messages in unit_add_name() They were added recently in acd1987a1867fc3390ef2516962b2313cbeb366e. We can make them more informative by using unit_type_to_string() and not repeating unit names as much. Also, %m should not be used together with SYNTHETIC_ERRNO(). --- diff --git a/src/core/unit.c b/src/core/unit.c index 4412f6b7b77..091372b9e75 100644 --- a/src/core/unit.c +++ b/src/core/unit.c @@ -275,14 +275,16 @@ int unit_add_name(Unit *u, const char *text) { /* Ensure that this unit either has no instance, or that the instance matches. */ if (u->type != _UNIT_TYPE_INVALID && !streq_ptr(u->instance, instance)) return log_unit_debug_errno(u, SYNTHETIC_ERRNO(EINVAL), - "instance is illegal: u->type(%d), u->instance(%s) and i(%s) for name '%s': %m", - u->type, u->instance, instance, name); + "cannot add name %s, the instances don't match (\"%s\" != \"%s\").", + name, instance, u->instance); if (u->id && !unit_type_may_alias(t)) - return log_unit_debug_errno(u, SYNTHETIC_ERRNO(EEXIST), "aliases are not allowed for name '%s': %m", name); + return log_unit_debug_errno(u, SYNTHETIC_ERRNO(EEXIST), + "cannot add name %s, aliases are not allowed for %s units.", + name, unit_type_to_string(t)); if (hashmap_size(u->manager->units) >= MANAGER_MAX_NAMES) - return log_unit_debug_errno(u, SYNTHETIC_ERRNO(E2BIG), "too many units: %m"); + return log_unit_warning_errno(u, SYNTHETIC_ERRNO(E2BIG), "cannot add name, manager has too many units: %m"); /* Add name to the global hashmap first, because that's easier to undo */ r = hashmap_put(u->manager->units, name, u);