diff options
author | OpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com> | 2021-12-01 21:37:09 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-12-01 21:37:09 +0100 |
commit | 4aeac1195a9463b52cf6c56791e9469e484346fb (patch) | |
tree | 26205bc3df6a4f3f78ccbf9c35ef8dbfcd6ed31a /pkg/specgen | |
parent | 5d91edc78d5a3a96293cbb22dae85ab8c055fcc6 (diff) | |
parent | 5a56f4094800d1ad07b89d08365b70fcd613569a (diff) | |
download | podman-4aeac1195a9463b52cf6c56791e9469e484346fb.tar.gz podman-4aeac1195a9463b52cf6c56791e9469e484346fb.tar.bz2 podman-4aeac1195a9463b52cf6c56791e9469e484346fb.zip |
Merge pull request #12307 from hshiina/device-weight
Implement 'podman run --blkio-weight-device'
Diffstat (limited to 'pkg/specgen')
-rw-r--r-- | pkg/specgen/generate/oci.go | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/pkg/specgen/generate/oci.go b/pkg/specgen/generate/oci.go index 1b022b912..df5788099 100644 --- a/pkg/specgen/generate/oci.go +++ b/pkg/specgen/generate/oci.go @@ -329,6 +329,14 @@ func SpecGenToOCI(ctx context.Context, s *specgen.SpecGenerator, rt *libpod.Runt g.AddLinuxResourcesDevice(true, dev.Type, dev.Major, dev.Minor, dev.Access) } + for k, v := range s.WeightDevice { + statT := unix.Stat_t{} + if err := unix.Stat(k, &statT); err != nil { + return nil, errors.Wrapf(err, "failed to inspect '%s' in --blkio-weight-device", k) + } + g.AddLinuxResourcesBlockIOWeightDevice((int64(unix.Major(uint64(statT.Rdev)))), (int64(unix.Minor(uint64(statT.Rdev)))), *v.Weight) + } + BlockAccessToKernelFilesystems(s.Privileged, s.PidNS.IsHost(), s.Mask, s.Unmask, &g) g.ClearProcessEnv() |