diff options
author | gVisor bot <gvisor-bot@google.com> | 2021-02-23 00:02:30 +0000 |
---|---|---|
committer | gVisor bot <gvisor-bot@google.com> | 2021-02-23 00:02:30 +0000 |
commit | 9b511d5b59e06c72967f16f1e8ac23b99ce71560 (patch) | |
tree | 6afcc42dc5c650ff5586a7012268f195fe351e28 /runsc/cgroup | |
parent | f98283501eed31a3bd941e5215a1453e16801ace (diff) | |
parent | 34e2cda9ad6a20861844776abfbb45052d20c3fa (diff) |
Merge release-20210208.0-82-g34e2cda9a (automated)
Diffstat (limited to 'runsc/cgroup')
-rw-r--r-- | runsc/cgroup/cgroup.go | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/runsc/cgroup/cgroup.go b/runsc/cgroup/cgroup.go index 797c1c2bc..ac9e4e3a8 100644 --- a/runsc/cgroup/cgroup.go +++ b/runsc/cgroup/cgroup.go @@ -32,6 +32,7 @@ import ( "github.com/cenkalti/backoff" specs "github.com/opencontainers/runtime-spec/specs-go" + "golang.org/x/sys/unix" "gvisor.dev/gvisor/pkg/cleanup" "gvisor.dev/gvisor/pkg/log" ) @@ -59,6 +60,16 @@ var controllers = map[string]config{ "systemd": {ctrlr: &noop{}}, } +// IsOnlyV2 checks whether cgroups V2 is enabled and V1 is not. +func IsOnlyV2() bool { + var stat unix.Statfs_t + if err := unix.Statfs(cgroupRoot, &stat); err != nil { + // It's not used for anything important, assume not V2 on failure. + return false + } + return stat.Type == unix.CGROUP2_SUPER_MAGIC +} + func setOptionalValueInt(path, name string, val *int64) error { if val == nil || *val == 0 { return nil |