diff options
author | Miloslav Trmač <mitr@redhat.com> | 2018-07-28 05:23:20 +0200 |
---|---|---|
committer | Atomic Bot <atomic-devel@projectatomic.io> | 2018-08-01 18:22:59 +0000 |
commit | dae620066284c4c8c35d73941dfecdbc00a2b1b6 (patch) | |
tree | 96689fc027b8b76cb01e068cca181cb12b8a0eed /libpod/image | |
parent | 83f40de9652712baf84379f3292dc4f4f103ce50 (diff) | |
download | podman-dae620066284c4c8c35d73941dfecdbc00a2b1b6.tar.gz podman-dae620066284c4c8c35d73941dfecdbc00a2b1b6.tar.bz2 podman-dae620066284c4c8c35d73941dfecdbc00a2b1b6.zip |
Use []pullRefName instead of []*pullRefName
We are passing the values, don't really need the pointer sharing semantics,
and the structures are small enough, and the arrays short enough,
that we very likely lose on the indirect accesses more than we save on
quicker copying of the slices when extending them. Value semantics
is safer anyway.
Should not change behavior.
Signed-off-by: Miloslav Trmač <mitr@redhat.com>
Closes: #1176
Approved by: rhatdan
Diffstat (limited to 'libpod/image')
-rw-r--r-- | libpod/image/pull.go | 24 | ||||
-rw-r--r-- | libpod/image/pull_test.go | 4 |
2 files changed, 14 insertions, 14 deletions
diff --git a/libpod/image/pull.go b/libpod/image/pull.go index 276ccc898..0ecfbacb8 100644 --- a/libpod/image/pull.go +++ b/libpod/image/pull.go @@ -62,11 +62,11 @@ type pullRefName struct { dstName string } -func singlePullRefNameGoal(rn *pullRefName) []*pullRefName { - return []*pullRefName{rn} +func singlePullRefNameGoal(rn pullRefName) []pullRefName { + return []pullRefName{rn} } -func getPullRefName(srcRef types.ImageReference, destName string) *pullRefName { +func getPullRefName(srcRef types.ImageReference, destName string) pullRefName { imgPart, err := decompose(destName) if err == nil && !imgPart.hasRegistry { // If the image doesn't have a registry, set it as the default repo @@ -79,7 +79,7 @@ func getPullRefName(srcRef types.ImageReference, destName string) *pullRefName { if srcRef.DockerReference() != nil { reference = srcRef.DockerReference().String() } - return &pullRefName{ + return pullRefName{ image: destName, srcRef: srcRef, dstName: reference, @@ -87,7 +87,7 @@ func getPullRefName(srcRef types.ImageReference, destName string) *pullRefName { } // refNamesFromImageReference returns a list of pullRefName for a single ImageReference, depending on the used transport. -func refNamesFromImageReference(ctx context.Context, srcRef types.ImageReference, imgName string, sc *types.SystemContext) ([]*pullRefName, error) { +func refNamesFromImageReference(ctx context.Context, srcRef types.ImageReference, imgName string, sc *types.SystemContext) ([]pullRefName, error) { // supports pulling from docker-archive, oci, and registries switch srcRef.Transport().Name() { case DockerArchive: @@ -121,7 +121,7 @@ func refNamesFromImageReference(ctx context.Context, srcRef types.ImageReference } // Need to load in all the repo tags from the manifest - res := []*pullRefName{} + res := []pullRefName{} for _, dst := range manifest[0].RepoTags { pullInfo := getPullRefName(srcRef, dst) res = append(res, pullInfo) @@ -262,7 +262,7 @@ func hasShaInInputName(inputName string) bool { // refNamesFromPossiblyUnqualifiedName looks at a decomposed image and determines the possible // image names to try pulling in combination with the registries.conf file as well -func refNamesFromPossiblyUnqualifiedName(inputName string) ([]*pullRefName, error) { +func refNamesFromPossiblyUnqualifiedName(inputName string) ([]pullRefName, error) { decomposedImage, err := decompose(inputName) if err != nil { return nil, err @@ -287,14 +287,14 @@ func refNamesFromPossiblyUnqualifiedName(inputName string) ([]*pullRefName, erro } else { ps.dstName = ps.image } - return singlePullRefNameGoal(&ps), nil + return singlePullRefNameGoal(ps), nil } searchRegistries, err := registries.GetRegistries() if err != nil { return nil, err } - var pullNames []*pullRefName + var pullNames []pullRefName for _, registry := range searchRegistries { decomposedImage.registry = registry imageName := decomposedImage.assembleWithTransport() @@ -310,7 +310,7 @@ func refNamesFromPossiblyUnqualifiedName(inputName string) ([]*pullRefName, erro srcRef: srcRef, } ps.dstName = ps.image - pullNames = append(pullNames, &ps) + pullNames = append(pullNames, ps) } return pullNames, nil } @@ -325,8 +325,8 @@ func (i *Image) refPairsFromPossiblyUnqualifiedName() ([]*pullRefPair, error) { return i.imageruntime.pullRefPairsFromRefNames(refNames) } -// pullRefPairsFromNames converts a []*pullRefName to []*pullRefPair -func (ir *Runtime) pullRefPairsFromRefNames(refNames []*pullRefName) ([]*pullRefPair, error) { +// pullRefPairsFromNames converts a []pullRefName to []*pullRefPair +func (ir *Runtime) pullRefPairsFromRefNames(refNames []pullRefName) ([]*pullRefPair, error) { // Here we construct the destination references res := make([]*pullRefPair, len(refNames)) for i, rn := range refNames { diff --git a/libpod/image/pull_test.go b/libpod/image/pull_test.go index 1552d568b..11525539b 100644 --- a/libpod/image/pull_test.go +++ b/libpod/image/pull_test.go @@ -73,7 +73,7 @@ func TestGetPullRefName(t *testing.T) { require.NoError(t, err, c.srcName) res := getPullRefName(srcRef, c.destName) - assert.Equal(t, &pullRefName{image: c.expectedImage, srcRef: srcRef, dstName: c.expectedDstName}, res, + assert.Equal(t, pullRefName{image: c.expectedImage, srcRef: srcRef, dstName: c.expectedDstName}, res, fmt.Sprintf("%#v %#v", c.srcName, c.destName)) } } @@ -180,7 +180,7 @@ func TestRefNamesFromImageReference(t *testing.T) { require.NoError(t, err, c.srcName) require.Len(t, res, len(c.expected), c.srcName) for i, e := range c.expected { - assert.Equal(t, &pullRefName{image: e.image, srcRef: srcRef, dstName: e.dstName}, res[i], fmt.Sprintf("%s #%d", c.srcName, i)) + assert.Equal(t, pullRefName{image: e.image, srcRef: srcRef, dstName: e.dstName}, res[i], fmt.Sprintf("%s #%d", c.srcName, i)) } } } |