52b84b
From dbdba4f2998313949e7c5f5a47f4ef938e759a86 Mon Sep 17 00:00:00 2001
52b84b
From: Chris Down <chris@chrisdown.name>
52b84b
Date: Fri, 3 May 2019 08:19:05 -0400
52b84b
Subject: [PATCH] cgroup: Readd some plumbing for DefaultMemoryMin
52b84b
52b84b
Somehow these got lost in the previous PR, rendering DefaultMemoryMin
52b84b
not very useful.
52b84b
52b84b
(cherry picked from commit 7e7223b3d57c950b399352a92e1d817f7c463602)
52b84b
52b84b
Related: #1763435
52b84b
---
52b84b
 src/core/dbus-cgroup.c                | 1 +
52b84b
 src/core/load-fragment-gperf.gperf.m4 | 1 +
52b84b
 src/shared/bus-unit-util.c            | 2 +-
52b84b
 src/shared/bus-util.c                 | 2 +-
52b84b
 4 files changed, 4 insertions(+), 2 deletions(-)
52b84b
52b84b
diff --git a/src/core/dbus-cgroup.c b/src/core/dbus-cgroup.c
52b84b
index e1278c317a..e34ff3a016 100644
52b84b
--- a/src/core/dbus-cgroup.c
52b84b
+++ b/src/core/dbus-cgroup.c
52b84b
@@ -354,6 +354,7 @@ const sd_bus_vtable bus_cgroup_vtable[] = {
52b84b
         SD_BUS_PROPERTY("BlockIOWriteBandwidth", "a(st)", property_get_blockio_device_bandwidths, 0, 0),
52b84b
         SD_BUS_PROPERTY("MemoryAccounting", "b", bus_property_get_bool, offsetof(CGroupContext, memory_accounting), 0),
52b84b
         SD_BUS_PROPERTY("DefaultMemoryLow", "t", NULL, offsetof(CGroupContext, default_memory_low), 0),
52b84b
+        SD_BUS_PROPERTY("DefaultMemoryMin", "t", NULL, offsetof(CGroupContext, default_memory_min), 0),
52b84b
         SD_BUS_PROPERTY("MemoryMin", "t", NULL, offsetof(CGroupContext, memory_min), 0),
52b84b
         SD_BUS_PROPERTY("MemoryLow", "t", NULL, offsetof(CGroupContext, memory_low), 0),
52b84b
         SD_BUS_PROPERTY("MemoryHigh", "t", NULL, offsetof(CGroupContext, memory_high), 0),
52b84b
diff --git a/src/core/load-fragment-gperf.gperf.m4 b/src/core/load-fragment-gperf.gperf.m4
52b84b
index 43cc78fdea..6d21b2e433 100644
52b84b
--- a/src/core/load-fragment-gperf.gperf.m4
52b84b
+++ b/src/core/load-fragment-gperf.gperf.m4
52b84b
@@ -172,6 +172,7 @@ $1.CPUQuota,                     config_parse_cpu_quota,             0,
52b84b
 $1.CPUQuotaPeriodSec,            config_parse_sec_def_infinity,      0,                             offsetof($1, cgroup_context.cpu_quota_period_usec)
52b84b
 $1.MemoryAccounting,             config_parse_bool,                  0,                             offsetof($1, cgroup_context.memory_accounting)
52b84b
 $1.MemoryMin,                    config_parse_memory_limit,          0,                             offsetof($1, cgroup_context)
52b84b
+$1.DefaultMemoryMin,             config_parse_memory_limit,          0,                             offsetof($1, cgroup_context)
52b84b
 $1.DefaultMemoryLow,             config_parse_memory_limit,          0,                             offsetof($1, cgroup_context)
52b84b
 $1.MemoryLow,                    config_parse_memory_limit,          0,                             offsetof($1, cgroup_context)
52b84b
 $1.MemoryHigh,                   config_parse_memory_limit,          0,                             offsetof($1, cgroup_context)
52b84b
diff --git a/src/shared/bus-unit-util.c b/src/shared/bus-unit-util.c
52b84b
index f88730a85d..77788f0fe2 100644
52b84b
--- a/src/shared/bus-unit-util.c
52b84b
+++ b/src/shared/bus-unit-util.c
52b84b
@@ -429,7 +429,7 @@ static int bus_append_cgroup_property(sd_bus_message *m, const char *field, cons
52b84b
                 return 1;
52b84b
         }
52b84b
 
52b84b
-        if (STR_IN_SET(field, "MemoryMin", "DefaultMemoryLow", "MemoryLow", "MemoryHigh", "MemoryMax", "MemorySwapMax", "MemoryLimit", "TasksMax")) {
52b84b
+        if (STR_IN_SET(field, "MemoryMin", "DefaultMemoryLow", "DefaultMemoryMin", "MemoryLow", "MemoryHigh", "MemoryMax", "MemorySwapMax", "MemoryLimit", "TasksMax")) {
52b84b
 
52b84b
                 if (isempty(eq) || streq(eq, "infinity")) {
52b84b
                         r = sd_bus_message_append(m, "(sv)", field, "t", CGROUP_LIMIT_MAX);
52b84b
diff --git a/src/shared/bus-util.c b/src/shared/bus-util.c
52b84b
index 0ba2712deb..ff0e800347 100644
52b84b
--- a/src/shared/bus-util.c
52b84b
+++ b/src/shared/bus-util.c
52b84b
@@ -774,7 +774,7 @@ int bus_print_property(const char *name, sd_bus_message *m, bool value, bool all
52b84b
 
52b84b
                         print_property(name, "%s", "[not set]");
52b84b
 
52b84b
-                else if ((STR_IN_SET(name, "DefaultMemoryLow", "MemoryLow", "MemoryHigh", "MemoryMax", "MemorySwapMax", "MemoryLimit") && u == CGROUP_LIMIT_MAX) ||
52b84b
+                else if ((STR_IN_SET(name, "DefaultMemoryLow", "DefaultMemoryMin", "MemoryLow", "MemoryHigh", "MemoryMax", "MemorySwapMax", "MemoryLimit") && u == CGROUP_LIMIT_MAX) ||
52b84b
                          (STR_IN_SET(name, "TasksMax", "DefaultTasksMax") && u == (uint64_t) -1) ||
52b84b
                          (startswith(name, "Limit") && u == (uint64_t) -1) ||
52b84b
                          (startswith(name, "DefaultLimit") && u == (uint64_t) -1))