]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
shared/install: failing with -ELOOP can be due to the use of an alias in install_error() 13635/head
authorFranck Bui <fbui@suse.com>
Tue, 24 Sep 2019 16:54:15 +0000 (18:54 +0200)
committerFranck Bui <fbui@suse.com>
Tue, 24 Sep 2019 17:05:06 +0000 (19:05 +0200)
-ELOOP can happen also when enabling an alias name (which is admittedly useless
since the unit it belongs to was already enabled) so let's mention this
possibility when reporting the corresponding error.

src/core/dbus-manager.c

index 035011e34f9bd23f29b55f1db0f56e8a187a54c9..98d2e828a3fd54f9e85c903d86aaea3e85cdcf5b 100644 (file)
@@ -1903,11 +1903,13 @@ static int install_error(
 
                 case -ELOOP:
                         r = sd_bus_error_setf(error, BUS_ERROR_UNIT_LINKED,
-                                              "Refusing to operate on linked unit file %s", changes[i].path);
+                                              "Refusing to operate on alias name or linked unit file: %s",
+                                              changes[i].path);
                         goto found;
 
                 case -ENOENT:
-                        r = sd_bus_error_setf(error, BUS_ERROR_NO_SUCH_UNIT, "Unit file %s does not exist.", changes[i].path);
+                        r = sd_bus_error_setf(error, BUS_ERROR_NO_SUCH_UNIT,
+                                              "Unit file %s does not exist.", changes[i].path);
                         goto found;
 
                 default: