mirror of
https://github.com/morgan9e/systemd
synced 2026-04-14 08:25:20 +09:00
core: remove deprecated CGroup v1 settings
This commit is contained in:
@@ -204,8 +204,8 @@
|
||||
{{type}}.CPUAccounting, config_parse_bool, 0, offsetof({{type}}, cgroup_context.cpu_accounting)
|
||||
{{type}}.CPUWeight, config_parse_cg_cpu_weight, 0, offsetof({{type}}, cgroup_context.cpu_weight)
|
||||
{{type}}.StartupCPUWeight, config_parse_cg_cpu_weight, 0, offsetof({{type}}, cgroup_context.startup_cpu_weight)
|
||||
{{type}}.CPUShares, config_parse_cpu_shares, 0, offsetof({{type}}, cgroup_context.cpu_shares)
|
||||
{{type}}.StartupCPUShares, config_parse_cpu_shares, 0, offsetof({{type}}, cgroup_context.startup_cpu_shares)
|
||||
{{type}}.CPUShares, config_parse_warn_compat, DISABLED_LEGACY, 0
|
||||
{{type}}.StartupCPUShares, config_parse_warn_compat, DISABLED_LEGACY, 0
|
||||
{{type}}.CPUQuota, config_parse_cpu_quota, 0, offsetof({{type}}, cgroup_context)
|
||||
{{type}}.CPUQuotaPeriodSec, config_parse_sec_def_infinity, 0, offsetof({{type}}, cgroup_context.cpu_quota_period_usec)
|
||||
{{type}}.MemoryAccounting, config_parse_bool, 0, offsetof({{type}}, cgroup_context.memory_accounting)
|
||||
@@ -224,7 +224,7 @@
|
||||
{{type}}.MemoryZSwapMax, config_parse_memory_limit, 0, offsetof({{type}}, cgroup_context)
|
||||
{{type}}.StartupMemoryZSwapMax, config_parse_memory_limit, 0, offsetof({{type}}, cgroup_context)
|
||||
{{type}}.MemoryZSwapWriteback, config_parse_bool, 0, offsetof({{type}}, cgroup_context.memory_zswap_writeback)
|
||||
{{type}}.MemoryLimit, config_parse_memory_limit, 0, offsetof({{type}}, cgroup_context)
|
||||
{{type}}.MemoryLimit, config_parse_warn_compat, DISABLED_LEGACY, 0
|
||||
{{type}}.DeviceAllow, config_parse_device_allow, 0, offsetof({{type}}, cgroup_context)
|
||||
{{type}}.DevicePolicy, config_parse_device_policy, 0, offsetof({{type}}, cgroup_context.device_policy)
|
||||
{{type}}.IOAccounting, config_parse_bool, 0, offsetof({{type}}, cgroup_context.io_accounting)
|
||||
@@ -236,12 +236,12 @@
|
||||
{{type}}.IOReadIOPSMax, config_parse_io_limit, 0, offsetof({{type}}, cgroup_context)
|
||||
{{type}}.IOWriteIOPSMax, config_parse_io_limit, 0, offsetof({{type}}, cgroup_context)
|
||||
{{type}}.IODeviceLatencyTargetSec, config_parse_io_device_latency, 0, offsetof({{type}}, cgroup_context)
|
||||
{{type}}.BlockIOAccounting, config_parse_bool, 0, offsetof({{type}}, cgroup_context.blockio_accounting)
|
||||
{{type}}.BlockIOWeight, config_parse_blockio_weight, 0, offsetof({{type}}, cgroup_context.blockio_weight)
|
||||
{{type}}.StartupBlockIOWeight, config_parse_blockio_weight, 0, offsetof({{type}}, cgroup_context.startup_blockio_weight)
|
||||
{{type}}.BlockIODeviceWeight, config_parse_blockio_device_weight, 0, offsetof({{type}}, cgroup_context)
|
||||
{{type}}.BlockIOReadBandwidth, config_parse_blockio_bandwidth, 0, offsetof({{type}}, cgroup_context)
|
||||
{{type}}.BlockIOWriteBandwidth, config_parse_blockio_bandwidth, 0, offsetof({{type}}, cgroup_context)
|
||||
{{type}}.BlockIOAccounting, config_parse_warn_compat, DISABLED_LEGACY, 0
|
||||
{{type}}.BlockIOWeight, config_parse_warn_compat, DISABLED_LEGACY, 0
|
||||
{{type}}.StartupBlockIOWeight, config_parse_warn_compat, DISABLED_LEGACY, 0
|
||||
{{type}}.BlockIODeviceWeight, config_parse_warn_compat, DISABLED_LEGACY, 0
|
||||
{{type}}.BlockIOReadBandwidth, config_parse_warn_compat, DISABLED_LEGACY, 0
|
||||
{{type}}.BlockIOWriteBandwidth, config_parse_warn_compat, DISABLED_LEGACY, 0
|
||||
{{type}}.TasksAccounting, config_parse_bool, 0, offsetof({{type}}, cgroup_context.tasks_accounting)
|
||||
{{type}}.TasksMax, config_parse_tasks_max, 0, offsetof({{type}}, cgroup_context.tasks_max)
|
||||
{{type}}.Delegate, config_parse_delegate, 0, offsetof({{type}}, cgroup_context)
|
||||
|
||||
@@ -153,38 +153,13 @@ DEFINE_CONFIG_PARSE_ENUM(config_parse_oom_policy, oom_policy, OOMPolicy);
|
||||
DEFINE_CONFIG_PARSE_ENUM(config_parse_managed_oom_preference, managed_oom_preference, ManagedOOMPreference);
|
||||
DEFINE_CONFIG_PARSE_ENUM(config_parse_memory_pressure_watch, cgroup_pressure_watch, CGroupPressureWatch);
|
||||
DEFINE_CONFIG_PARSE_ENUM_WITH_DEFAULT(config_parse_ip_tos, ip_tos, int, -1);
|
||||
DEFINE_CONFIG_PARSE_PTR(config_parse_blockio_weight, cg_blkio_weight_parse, uint64_t);
|
||||
DEFINE_CONFIG_PARSE_PTR(config_parse_cg_weight, cg_weight_parse, uint64_t);
|
||||
DEFINE_CONFIG_PARSE_PTR(config_parse_cg_cpu_weight, cg_cpu_weight_parse, uint64_t);
|
||||
static DEFINE_CONFIG_PARSE_PTR(config_parse_cpu_shares_internal, cg_cpu_shares_parse, uint64_t);
|
||||
DEFINE_CONFIG_PARSE_PTR(config_parse_exec_mount_propagation_flag, mount_propagation_flag_from_string, unsigned long);
|
||||
DEFINE_CONFIG_PARSE_ENUM_WITH_DEFAULT(config_parse_numa_policy, mpol, int, -1);
|
||||
DEFINE_CONFIG_PARSE_ENUM(config_parse_status_unit_format, status_unit_format, StatusUnitFormat);
|
||||
DEFINE_CONFIG_PARSE_ENUM_FULL(config_parse_socket_timestamping, socket_timestamping_from_string_harder, SocketTimestamping);
|
||||
|
||||
int config_parse_cpu_shares(
|
||||
const char *unit,
|
||||
const char *filename,
|
||||
unsigned line,
|
||||
const char *section,
|
||||
unsigned section_line,
|
||||
const char *lvalue,
|
||||
int ltype,
|
||||
const char *rvalue,
|
||||
void *data,
|
||||
void *userdata) {
|
||||
|
||||
assert(filename);
|
||||
assert(lvalue);
|
||||
assert(rvalue);
|
||||
|
||||
log_syntax(unit, LOG_WARNING, filename, line, 0,
|
||||
"Unit uses %s=; please use CPUWeight= instead. Support for %s= will be removed soon.",
|
||||
lvalue, lvalue);
|
||||
|
||||
return config_parse_cpu_shares_internal(unit, filename, line, section, section_line, lvalue, ltype, rvalue, data, userdata);
|
||||
}
|
||||
|
||||
bool contains_instance_specifier_superset(const char *s) {
|
||||
const char *p, *q;
|
||||
bool percent = false;
|
||||
@@ -3899,10 +3874,6 @@ int config_parse_memory_limit(
|
||||
else if (streq(lvalue, "StartupMemoryZSwapMax")) {
|
||||
c->startup_memory_zswap_max = bytes;
|
||||
c->startup_memory_zswap_max_set = true;
|
||||
} else if (streq(lvalue, "MemoryLimit")) {
|
||||
log_syntax(unit, LOG_WARNING, filename, line, 0,
|
||||
"Unit uses MemoryLimit=; please use MemoryMax= instead. Support for MemoryLimit= will be removed soon.");
|
||||
c->memory_limit = bytes;
|
||||
} else
|
||||
return -EINVAL;
|
||||
|
||||
@@ -4477,177 +4448,6 @@ int config_parse_io_limit(
|
||||
return 0;
|
||||
}
|
||||
|
||||
int config_parse_blockio_device_weight(
|
||||
const char *unit,
|
||||
const char *filename,
|
||||
unsigned line,
|
||||
const char *section,
|
||||
unsigned section_line,
|
||||
const char *lvalue,
|
||||
int ltype,
|
||||
const char *rvalue,
|
||||
void *data,
|
||||
void *userdata) {
|
||||
|
||||
_cleanup_free_ char *path = NULL, *resolved = NULL;
|
||||
CGroupBlockIODeviceWeight *w;
|
||||
CGroupContext *c = data;
|
||||
const char *p = ASSERT_PTR(rvalue);
|
||||
uint64_t u;
|
||||
int r;
|
||||
|
||||
assert(filename);
|
||||
assert(lvalue);
|
||||
|
||||
log_syntax(unit, LOG_WARNING, filename, line, 0,
|
||||
"Unit uses %s=; please use IO*= settings instead. Support for %s= will be removed soon.",
|
||||
lvalue, lvalue);
|
||||
|
||||
if (isempty(rvalue)) {
|
||||
while (c->blockio_device_weights)
|
||||
cgroup_context_free_blockio_device_weight(c, c->blockio_device_weights);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
r = extract_first_word(&p, &path, NULL, EXTRACT_UNQUOTE);
|
||||
if (r == -ENOMEM)
|
||||
return log_oom();
|
||||
if (r < 0) {
|
||||
log_syntax(unit, LOG_WARNING, filename, line, r,
|
||||
"Failed to extract device node and weight from '%s', ignoring.", rvalue);
|
||||
return 0;
|
||||
}
|
||||
if (r == 0 || isempty(p)) {
|
||||
log_syntax(unit, LOG_WARNING, filename, line, 0,
|
||||
"Invalid device node or weight specified in '%s', ignoring.", rvalue);
|
||||
return 0;
|
||||
}
|
||||
|
||||
r = unit_path_printf(userdata, path, &resolved);
|
||||
if (r < 0) {
|
||||
log_syntax(unit, LOG_WARNING, filename, line, r,
|
||||
"Failed to resolve unit specifiers in '%s', ignoring: %m", path);
|
||||
return 0;
|
||||
}
|
||||
|
||||
r = path_simplify_and_warn(resolved, 0, unit, filename, line, lvalue);
|
||||
if (r < 0)
|
||||
return 0;
|
||||
|
||||
r = cg_blkio_weight_parse(p, &u);
|
||||
if (r < 0) {
|
||||
log_syntax(unit, LOG_WARNING, filename, line, r, "Invalid block IO weight '%s', ignoring: %m", p);
|
||||
return 0;
|
||||
}
|
||||
|
||||
assert(u != CGROUP_BLKIO_WEIGHT_INVALID);
|
||||
|
||||
w = new0(CGroupBlockIODeviceWeight, 1);
|
||||
if (!w)
|
||||
return log_oom();
|
||||
|
||||
w->path = TAKE_PTR(resolved);
|
||||
w->weight = u;
|
||||
|
||||
LIST_APPEND(device_weights, c->blockio_device_weights, w);
|
||||
return 0;
|
||||
}
|
||||
|
||||
int config_parse_blockio_bandwidth(
|
||||
const char *unit,
|
||||
const char *filename,
|
||||
unsigned line,
|
||||
const char *section,
|
||||
unsigned section_line,
|
||||
const char *lvalue,
|
||||
int ltype,
|
||||
const char *rvalue,
|
||||
void *data,
|
||||
void *userdata) {
|
||||
|
||||
_cleanup_free_ char *path = NULL, *resolved = NULL;
|
||||
CGroupBlockIODeviceBandwidth *b = NULL;
|
||||
CGroupContext *c = data;
|
||||
const char *p = ASSERT_PTR(rvalue);
|
||||
uint64_t bytes;
|
||||
bool read;
|
||||
int r;
|
||||
|
||||
assert(filename);
|
||||
assert(lvalue);
|
||||
|
||||
log_syntax(unit, LOG_WARNING, filename, line, 0,
|
||||
"Unit uses %s=; please use IO*= settings instead. Support for %s= will be removed soon.",
|
||||
lvalue, lvalue);
|
||||
|
||||
read = streq("BlockIOReadBandwidth", lvalue);
|
||||
|
||||
if (isempty(rvalue)) {
|
||||
LIST_FOREACH(device_bandwidths, t, c->blockio_device_bandwidths) {
|
||||
t->rbps = CGROUP_LIMIT_MAX;
|
||||
t->wbps = CGROUP_LIMIT_MAX;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
r = extract_first_word(&p, &path, NULL, EXTRACT_UNQUOTE);
|
||||
if (r == -ENOMEM)
|
||||
return log_oom();
|
||||
if (r < 0) {
|
||||
log_syntax(unit, LOG_WARNING, filename, line, r,
|
||||
"Failed to extract device node and bandwidth from '%s', ignoring.", rvalue);
|
||||
return 0;
|
||||
}
|
||||
if (r == 0 || isempty(p)) {
|
||||
log_syntax(unit, LOG_WARNING, filename, line, 0,
|
||||
"Invalid device node or bandwidth specified in '%s', ignoring.", rvalue);
|
||||
return 0;
|
||||
}
|
||||
|
||||
r = unit_path_printf(userdata, path, &resolved);
|
||||
if (r < 0) {
|
||||
log_syntax(unit, LOG_WARNING, filename, line, r,
|
||||
"Failed to resolve unit specifiers in '%s', ignoring: %m", path);
|
||||
return 0;
|
||||
}
|
||||
|
||||
r = path_simplify_and_warn(resolved, 0, unit, filename, line, lvalue);
|
||||
if (r < 0)
|
||||
return 0;
|
||||
|
||||
r = parse_size(p, 1000, &bytes);
|
||||
if (r < 0 || bytes <= 0) {
|
||||
log_syntax(unit, LOG_WARNING, filename, line, r, "Invalid Block IO Bandwidth '%s', ignoring.", p);
|
||||
return 0;
|
||||
}
|
||||
|
||||
LIST_FOREACH(device_bandwidths, t, c->blockio_device_bandwidths)
|
||||
if (path_equal(resolved, t->path)) {
|
||||
b = t;
|
||||
break;
|
||||
}
|
||||
|
||||
if (!b) {
|
||||
b = new0(CGroupBlockIODeviceBandwidth, 1);
|
||||
if (!b)
|
||||
return log_oom();
|
||||
|
||||
b->path = TAKE_PTR(resolved);
|
||||
b->rbps = CGROUP_LIMIT_MAX;
|
||||
b->wbps = CGROUP_LIMIT_MAX;
|
||||
|
||||
LIST_APPEND(device_bandwidths, c->blockio_device_bandwidths, b);
|
||||
}
|
||||
|
||||
if (read)
|
||||
b->rbps = bytes;
|
||||
else
|
||||
b->wbps = bytes;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int config_parse_job_mode_isolate(
|
||||
const char *unit,
|
||||
const char *filename,
|
||||
@@ -6372,7 +6172,6 @@ void unit_dump_config_items(FILE *f) {
|
||||
#endif
|
||||
{ config_parse_namespace_flags, "NAMESPACES" },
|
||||
{ config_parse_restrict_filesystems, "FILESYSTEMS" },
|
||||
{ config_parse_cpu_shares, "SHARES" },
|
||||
{ config_parse_cg_weight, "WEIGHT" },
|
||||
{ config_parse_cg_cpu_weight, "CPUWEIGHT" },
|
||||
{ config_parse_memory_limit, "LIMIT" },
|
||||
@@ -6381,9 +6180,6 @@ void unit_dump_config_items(FILE *f) {
|
||||
{ config_parse_io_limit, "LIMIT" },
|
||||
{ config_parse_io_device_weight, "DEVICEWEIGHT" },
|
||||
{ config_parse_io_device_latency, "DEVICELATENCY" },
|
||||
{ config_parse_blockio_bandwidth, "BANDWIDTH" },
|
||||
{ config_parse_blockio_weight, "WEIGHT" },
|
||||
{ config_parse_blockio_device_weight, "DEVICEWEIGHT" },
|
||||
{ config_parse_long, "LONG" },
|
||||
{ config_parse_socket_service, "SERVICE" },
|
||||
#if HAVE_SELINUX
|
||||
|
||||
@@ -81,7 +81,6 @@ CONFIG_PARSER_PROTOTYPE(config_parse_unset_environ);
|
||||
CONFIG_PARSER_PROTOTYPE(config_parse_unit_slice);
|
||||
CONFIG_PARSER_PROTOTYPE(config_parse_cg_weight);
|
||||
CONFIG_PARSER_PROTOTYPE(config_parse_cg_cpu_weight);
|
||||
CONFIG_PARSER_PROTOTYPE(config_parse_cpu_shares);
|
||||
CONFIG_PARSER_PROTOTYPE(config_parse_memory_limit);
|
||||
CONFIG_PARSER_PROTOTYPE(config_parse_tasks_max);
|
||||
CONFIG_PARSER_PROTOTYPE(config_parse_delegate);
|
||||
@@ -95,9 +94,6 @@ CONFIG_PARSER_PROTOTYPE(config_parse_device_allow);
|
||||
CONFIG_PARSER_PROTOTYPE(config_parse_io_device_latency);
|
||||
CONFIG_PARSER_PROTOTYPE(config_parse_io_device_weight);
|
||||
CONFIG_PARSER_PROTOTYPE(config_parse_io_limit);
|
||||
CONFIG_PARSER_PROTOTYPE(config_parse_blockio_weight);
|
||||
CONFIG_PARSER_PROTOTYPE(config_parse_blockio_device_weight);
|
||||
CONFIG_PARSER_PROTOTYPE(config_parse_blockio_bandwidth);
|
||||
CONFIG_PARSER_PROTOTYPE(config_parse_job_mode);
|
||||
CONFIG_PARSER_PROTOTYPE(config_parse_job_mode_isolate);
|
||||
CONFIG_PARSER_PROTOTYPE(config_parse_exec_selinux_context);
|
||||
|
||||
@@ -794,7 +794,7 @@ static int parse_config_file(void) {
|
||||
{ "Manager", "DefaultCPUAccounting", config_parse_bool, 0, &arg_defaults.cpu_accounting },
|
||||
{ "Manager", "DefaultIOAccounting", config_parse_bool, 0, &arg_defaults.io_accounting },
|
||||
{ "Manager", "DefaultIPAccounting", config_parse_bool, 0, &arg_defaults.ip_accounting },
|
||||
{ "Manager", "DefaultBlockIOAccounting", config_parse_bool, 0, &arg_defaults.blockio_accounting },
|
||||
{ "Manager", "DefaultBlockIOAccounting", config_parse_warn_compat, DISABLED_LEGACY, NULL },
|
||||
{ "Manager", "DefaultMemoryAccounting", config_parse_bool, 0, &arg_defaults.memory_accounting },
|
||||
{ "Manager", "DefaultTasksAccounting", config_parse_bool, 0, &arg_defaults.tasks_accounting },
|
||||
{ "Manager", "DefaultTasksMax", config_parse_tasks_max, 0, &arg_defaults.tasks_max },
|
||||
|
||||
Reference in New Issue
Block a user