diff options
author | Giuseppe Scrivano <gscrivan@redhat.com> | 2021-05-05 17:49:52 +0200 |
---|---|---|
committer | Giuseppe Scrivano <gscrivan@redhat.com> | 2021-05-05 18:03:10 +0200 |
commit | c2c0d5058203070033b2d2e84c8b168bd4060650 (patch) | |
tree | 9d08ccf712e02d99a52611c6bc60e072ce6ada49 /pkg/rootless/rootless_test.go | |
parent | 4d2ba323f2e67fbfd6150582196c6e0229c70a8e (diff) | |
download | podman-c2c0d5058203070033b2d2e84c8b168bd4060650.tar.gz podman-c2c0d5058203070033b2d2e84c8b168bd4060650.tar.bz2 podman-c2c0d5058203070033b2d2e84c8b168bd4060650.zip |
rootless: improve automatic range split
sort.Search returns the smallest index, so provide the available IDs
in decreasing order.
It fixes an issue when splitting the current mappings over multiple
available IDs.
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
Diffstat (limited to 'pkg/rootless/rootless_test.go')
-rw-r--r-- | pkg/rootless/rootless_test.go | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/pkg/rootless/rootless_test.go b/pkg/rootless/rootless_test.go index ef574099c..fe9b23cdf 100644 --- a/pkg/rootless/rootless_test.go +++ b/pkg/rootless/rootless_test.go @@ -98,4 +98,61 @@ func TestMaybeSplitMappings(t *testing.T) { if !reflect.DeepEqual(newMappings, desiredMappings) { t.Fatal("wrong mappings generated") } + + mappings = []spec.LinuxIDMapping{ + { + ContainerID: 0, + HostID: 0, + Size: 4, + }, + } + desiredMappings = []spec.LinuxIDMapping{ + { + ContainerID: 0, + HostID: 0, + Size: 1, + }, + { + ContainerID: 1, + HostID: 1, + Size: 1, + }, + { + ContainerID: 2, + HostID: 2, + Size: 1, + }, + { + ContainerID: 3, + HostID: 3, + Size: 1, + }, + } + availableMappings = []user.IDMap{ + { + ID: 0, + ParentID: 0, + Count: 1, + }, + { + ID: 1, + ParentID: 1, + Count: 1, + }, + { + ID: 2, + ParentID: 2, + Count: 1, + }, + { + ID: 3, + ParentID: 3, + Count: 1, + }, + } + + newMappings = MaybeSplitMappings(mappings, availableMappings) + if !reflect.DeepEqual(newMappings, desiredMappings) { + t.Fatal("wrong mappings generated") + } } |