oomd: refuse to start if cgroup memory controller is not available
This commit is contained in:
@@ -120,6 +120,7 @@ static int run(int argc, char *argv[]) {
|
||||
_cleanup_(manager_freep) Manager *m = NULL;
|
||||
_cleanup_free_ char *swap = NULL;
|
||||
unsigned long long s = 0;
|
||||
CGroupMask mask;
|
||||
int r;
|
||||
|
||||
log_setup();
|
||||
@@ -153,6 +154,13 @@ static int run(int argc, char *argv[]) {
|
||||
if (r == 0)
|
||||
return log_error_errno(SYNTHETIC_ERRNO(EOPNOTSUPP), "Requires the unified cgroups hierarchy");
|
||||
|
||||
r = cg_mask_supported(&mask);
|
||||
if (r < 0)
|
||||
return log_error_errno(r, "Failed to get supported cgroup controllers: %m");
|
||||
|
||||
if (!FLAGS_SET(mask, CGROUP_MASK_MEMORY))
|
||||
return log_error_errno(SYNTHETIC_ERRNO(EOPNOTSUPP), "Requires the cgroup memory controller.");
|
||||
|
||||
assert_se(sigprocmask_many(SIG_BLOCK, NULL, SIGTERM, SIGINT, -1) >= 0);
|
||||
|
||||
if (arg_mem_pressure_usec > 0 && arg_mem_pressure_usec < 1 * USEC_PER_SEC)
|
||||
|
||||
Reference in New Issue
Block a user