From: Ivan Kruglov Date: Fri, 11 Jul 2025 13:54:53 +0000 (-0700) Subject: core: move Slice from runtime to context in io.systemd.Unit.List X-Git-Tag: v258-rc1~69^2~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=08cd3196645ab039e765d8ffa75d0a4a60498e3d;p=thirdparty%2Fsystemd.git core: move Slice from runtime to context in io.systemd.Unit.List --- diff --git a/src/core/varlink-cgroup.c b/src/core/varlink-cgroup.c index 7d8392bcea8..59c0a0f15ba 100644 --- a/src/core/varlink-cgroup.c +++ b/src/core/varlink-cgroup.c @@ -258,10 +258,12 @@ static int controllers_build_json(sd_json_variant **ret, const char *name, void } int unit_cgroup_context_build_json(sd_json_variant **ret, const char *name, void *userdata) { + Unit *u = ASSERT_PTR(userdata); + assert(ret); assert(name); - CGroupContext *c = userdata; + CGroupContext *c = unit_get_cgroup_context(u); if (!c) { *ret = NULL; return 0; @@ -270,6 +272,8 @@ int unit_cgroup_context_build_json(sd_json_variant **ret, const char *name, void return sd_json_buildo( ret, + JSON_BUILD_PAIR_STRING_NON_EMPTY("Slice", unit_slice_name(u)), + /* CPU Control */ JSON_BUILD_PAIR_UNSIGNED_NOT_EQUAL("CPUWeight", c->cpu_weight, CGROUP_WEIGHT_INVALID), JSON_BUILD_PAIR_UNSIGNED_NOT_EQUAL("StartupCPUWeight", c->startup_cpu_weight, CGROUP_WEIGHT_INVALID), @@ -579,7 +583,6 @@ int unit_cgroup_runtime_build_json(sd_json_variant **ret, const char *name, void /* ID */ JSON_BUILD_PAIR_UNSIGNED_NON_ZERO("ID", crt->cgroup_id), JSON_BUILD_PAIR_STRING_NON_EMPTY("Path", crt->cgroup_path ? empty_to_root(crt->cgroup_path) : NULL), - JSON_BUILD_PAIR_STRING_NON_EMPTY("Slice", unit_slice_name(u)), /* Memory */ JSON_BUILD_PAIR_CALLBACK_NON_NULL("MemoryCurrent", memory_accounting_metric_build_json, u), diff --git a/src/core/varlink-unit.c b/src/core/varlink-unit.c index 84ce79220c4..71ca5d4a7df 100644 --- a/src/core/varlink-unit.c +++ b/src/core/varlink-unit.c @@ -181,7 +181,7 @@ static int unit_context_build_json(sd_json_variant **ret, const char *name, void SD_JSON_BUILD_PAIR_BOOLEAN("DebugInvocation", u->debug_invocation), /* CGroup */ - JSON_BUILD_PAIR_CALLBACK_NON_NULL("CGroup", unit_cgroup_context_build_json, unit_get_cgroup_context(u))); + JSON_BUILD_PAIR_CALLBACK_NON_NULL("CGroup", unit_cgroup_context_build_json, u)); // TODO follow up PRs: // JSON_BUILD_PAIR_CALLBACK_NON_NULL("Exec", exec_context_build_json, u) diff --git a/src/shared/varlink-io.systemd.Unit.c b/src/shared/varlink-io.systemd.Unit.c index dd561f35abf..30d5d8cd574 100644 --- a/src/shared/varlink-io.systemd.Unit.c +++ b/src/shared/varlink-io.systemd.Unit.c @@ -87,6 +87,9 @@ static SD_VARLINK_DEFINE_STRUCT_TYPE( static SD_VARLINK_DEFINE_STRUCT_TYPE( CGroupContext, + SD_VARLINK_FIELD_COMMENT("Slice of the CGroup"), + SD_VARLINK_DEFINE_FIELD(Slice, SD_VARLINK_STRING, SD_VARLINK_NULLABLE), + /* CPU Control * https://www.freedesktop.org/software/systemd/man/latest/systemd.resource-control.html#CPU%20Control */ SD_VARLINK_FIELD_COMMENT("https://www.freedesktop.org/software/systemd/man/latest/systemd.resource-control.html#CPUWeight=weight"), @@ -403,8 +406,6 @@ static SD_VARLINK_DEFINE_STRUCT_TYPE( SD_VARLINK_DEFINE_FIELD(ID, SD_VARLINK_INT, SD_VARLINK_NULLABLE), SD_VARLINK_FIELD_COMMENT("Path of the CGroup"), SD_VARLINK_DEFINE_FIELD(Path, SD_VARLINK_STRING, SD_VARLINK_NULLABLE), - SD_VARLINK_FIELD_COMMENT("Slice of the CGroup"), - SD_VARLINK_DEFINE_FIELD(Slice, SD_VARLINK_STRING, SD_VARLINK_NULLABLE), /* Memory */ SD_VARLINK_FIELD_COMMENT("The current amount of memory used by the cgroup, in bytes"),