]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
cgls: machines can also be services 632/head
authorSteven Allen <steven@stebalien.com>
Mon, 20 Jul 2015 15:57:45 +0000 (11:57 -0400)
committerSteven Allen <steven@stebalien.com>
Wed, 22 Jul 2015 21:53:14 +0000 (17:53 -0400)
This makes `systemd-cgls -M <machine name>` work with nspawn containers in
systemd 222.

src/cgls/cgls.c

index 46a444340a22a6714f46bbf45a9c2f8689de4f2e..b8d1d2ccaf8e5f05dcc76fc4a21c1c94c18f9566 100644 (file)
@@ -197,19 +197,19 @@ int main(int argc, char *argv[]) {
                         if (arg_machine) {
                                 char *m;
                                 const char *cgroup;
-                                _cleanup_free_ char *scope = NULL;
+                                _cleanup_free_ char *unit = NULL;
                                 _cleanup_free_ char *path = NULL;
                                 _cleanup_bus_message_unref_ sd_bus_message *reply = NULL;
                                 _cleanup_bus_error_free_ sd_bus_error error = SD_BUS_ERROR_NULL;
 
                                 m = strjoina("/run/systemd/machines/", arg_machine);
-                                r = parse_env_file(m, NEWLINE, "SCOPE", &scope, NULL);
+                                r = parse_env_file(m, NEWLINE, "SCOPE", &unit, NULL);
                                 if (r < 0) {
                                         log_error_errno(r, "Failed to get machine path: %m");
                                         goto finish;
                                 }
 
-                                path = unit_dbus_path_from_name(scope);
+                                path = unit_dbus_path_from_name(unit);
                                 if (!path) {
                                         log_oom();
                                         goto finish;
@@ -219,7 +219,7 @@ int main(int argc, char *argv[]) {
                                                 bus,
                                                 "org.freedesktop.systemd1",
                                                 path,
-                                                "org.freedesktop.systemd1.Scope",
+                                                endswith(unit, ".scope") ? "org.freedesktop.systemd1.Scope" : "org.freedesktop.systemd1.Service",
                                                 "ControlGroup",
                                                 &error,
                                                 &reply,