diff --git a/cmd/podman/containers/ps.go b/cmd/podman/containers/ps.go index 88cef61132..fb87593339 100644 --- a/cmd/podman/containers/ps.go +++ b/cmd/podman/containers/ps.go @@ -145,7 +145,7 @@ func jsonOut(responses []entities.ListContainer) error { entities.ListContainer Created int64 } - r := make([]jsonFormat, 0) + r := make([]jsonFormat, 0, len(responses)) for _, con := range responses { con.CreatedAt = units.HumanDuration(time.Since(con.Created)) + " ago" con.Status = psReporter{con}.Status() diff --git a/cmd/podman/machine/machine.go b/cmd/podman/machine/machine.go index 200c064054..41d1534d21 100644 --- a/cmd/podman/machine/machine.go +++ b/cmd/podman/machine/machine.go @@ -103,8 +103,9 @@ func AutocompleteMachine(cmd *cobra.Command, args []string, toComplete string) ( } func autocompleteMachineProvider(_ *cobra.Command, _ []string, _ string) ([]string, cobra.ShellCompDirective) { - suggestions := make([]string, 0) - for _, p := range provider2.GetAll() { + providers := provider2.GetAll() + suggestions := make([]string, 0, len(providers)) + for _, p := range providers { suggestions = append(suggestions, p.VMType().String()) } return suggestions, cobra.ShellCompDirectiveNoFileComp diff --git a/cmd/quadlet/main.go b/cmd/quadlet/main.go index a49bb5caa0..9a17a1517b 100644 --- a/cmd/quadlet/main.go +++ b/cmd/quadlet/main.go @@ -135,9 +135,8 @@ func loadUnitDropins(unit *parser.UnitFile, sourcePaths []string) error { prevError = err } - dropinDirs := []string{} unitDropinPaths := unit.GetUnitDropinPaths() - + dropinDirs := make([]string, 0, len(unitDropinPaths)) for _, dropinPath := range unitDropinPaths { for _, sourcePath := range sourcePaths { dropinDirs = append(dropinDirs, path.Join(sourcePath, dropinPath)) diff --git a/libpod/container.go b/libpod/container.go index d97a683f60..295450838d 100644 --- a/libpod/container.go +++ b/libpod/container.go @@ -464,7 +464,7 @@ func (c *Container) StaticDir() string { // The name of each is guaranteed to point to a valid libpod Volume present in // the state. func (c *Container) NamedVolumes() []*ContainerNamedVolume { - volumes := []*ContainerNamedVolume{} + volumes := make([]*ContainerNamedVolume, 0, len(c.config.NamedVolumes)) for _, vol := range c.config.NamedVolumes { newVol := new(ContainerNamedVolume) newVol.Name = vol.Name diff --git a/libpod/kube.go b/libpod/kube.go index 49b442a3e3..a0f1381bf4 100644 --- a/libpod/kube.go +++ b/libpod/kube.go @@ -441,7 +441,7 @@ type YAMLContainer struct { // ConvertV1PodToYAMLPod takes k8s API core Pod and returns a pointer to YAMLPod func ConvertV1PodToYAMLPod(pod *v1.Pod) *YAMLPod { - cs := []*YAMLContainer{} + cs := make([]*YAMLContainer, 0, len(pod.Spec.Containers)) for _, cc := range pod.Spec.Containers { var res *v1.ResourceRequirements if len(cc.Resources.Limits) > 0 || len(cc.Resources.Requests) > 0 { diff --git a/libpod/oci_conmon_linux.go b/libpod/oci_conmon_linux.go index 29678b50e4..8ef84f0cbc 100644 --- a/libpod/oci_conmon_linux.go +++ b/libpod/oci_conmon_linux.go @@ -263,7 +263,7 @@ func GetLimits(resource *spec.LinuxResources) (runcconfig.Resources, error) { final.Devices = devs // HugepageLimits - pageLimits := []*runcconfig.HugepageLimit{} + pageLimits := make([]*runcconfig.HugepageLimit, 0, len(resource.HugepageLimits)) for _, entry := range resource.HugepageLimits { pageLimits = append(pageLimits, &runcconfig.HugepageLimit{ Pagesize: entry.Pagesize, diff --git a/pkg/api/handlers/utils/containers.go b/pkg/api/handlers/utils/containers.go index 3a03737504..14b5423145 100644 --- a/pkg/api/handlers/utils/containers.go +++ b/pkg/api/handlers/utils/containers.go @@ -163,7 +163,7 @@ func createContainerWaitFn(ctx context.Context, containerName string, interval t var containerEngine entities.ContainerEngine = &abi.ContainerEngine{Libpod: runtime} return func(conditions ...define.ContainerStatus) (int32, error) { - var rawConditions []string + rawConditions := make([]string, 0, len(conditions)) for _, con := range conditions { rawConditions = append(rawConditions, con.String()) } diff --git a/pkg/domain/filters/containers.go b/pkg/domain/filters/containers.go index 3135fc881d..fba8896df2 100644 --- a/pkg/domain/filters/containers.go +++ b/pkg/domain/filters/containers.go @@ -37,7 +37,7 @@ func GenerateContainerFilterFuncs(filter string, filterValues []string, r *libpo case "name": // we only have to match one name return func(c *libpod.Container) bool { - var filters []string + filters := make([]string, 0, len(filterValues)) for _, f := range filterValues { filters = append(filters, strings.ReplaceAll(f, "/", "")) } diff --git a/pkg/domain/infra/abi/volumes.go b/pkg/domain/infra/abi/volumes.go index ea9a8fdfcb..9d710c1fe3 100644 --- a/pkg/domain/infra/abi/volumes.go +++ b/pkg/domain/infra/abi/volumes.go @@ -210,7 +210,7 @@ func (ic *ContainerEngine) VolumeMounted(_ context.Context, nameOrID string) (*e } func (ic *ContainerEngine) VolumeMount(_ context.Context, nameOrIDs []string) ([]*entities.VolumeMountReport, error) { - reports := []*entities.VolumeMountReport{} + reports := make([]*entities.VolumeMountReport, 0, len(nameOrIDs)) for _, name := range nameOrIDs { report := entities.VolumeMountReport{Id: name} vol, err := ic.Libpod.LookupVolume(name) @@ -226,7 +226,7 @@ func (ic *ContainerEngine) VolumeMount(_ context.Context, nameOrIDs []string) ([ } func (ic *ContainerEngine) VolumeUnmount(_ context.Context, nameOrIDs []string) ([]*entities.VolumeUnmountReport, error) { - reports := []*entities.VolumeUnmountReport{} + reports := make([]*entities.VolumeUnmountReport, 0, len(nameOrIDs)) for _, name := range nameOrIDs { report := entities.VolumeUnmountReport{Id: name} vol, err := ic.Libpod.LookupVolume(name) diff --git a/pkg/domain/infra/tunnel/containers.go b/pkg/domain/infra/tunnel/containers.go index 1be1b6f640..6947189536 100644 --- a/pkg/domain/infra/tunnel/containers.go +++ b/pkg/domain/infra/tunnel/containers.go @@ -598,7 +598,7 @@ func (ic *ContainerEngine) ContainerAttach(ctx context.Context, nameOrID string, } func makeExecConfig(options entities.ExecOptions) *handlers.ExecCreateConfig { - env := []string{} + env := make([]string, 0, len(options.Envs)) for k, v := range options.Envs { env = append(env, fmt.Sprintf("%s=%s", k, v)) } diff --git a/pkg/trust/trust.go b/pkg/trust/trust.go index ae9945aa07..1093dd2280 100644 --- a/pkg/trust/trust.go +++ b/pkg/trust/trust.go @@ -78,7 +78,7 @@ func getPolicyShowOutput(policyContentStruct policyContent, systemRegistriesDirP // descriptionsOfPolicyRequirements turns reqs into user-readable policy entries, with Transport/Name/Reponame coming from template, potentially looking up scope (which may be "") in registryConfigs. func descriptionsOfPolicyRequirements(reqs []repoContent, template Policy, registryConfigs *registryConfiguration, scope string, idReader gpgIDReader) []*Policy { - res := []*Policy{} + res := make([]*Policy, 0, len(reqs)) var lookasidePath string registryNamespace := registriesDConfigurationForScope(registryConfigs, scope) diff --git a/pkg/util/utils.go b/pkg/util/utils.go index 4e034d95ce..56ffbddce1 100644 --- a/pkg/util/utils.go +++ b/pkg/util/utils.go @@ -612,13 +612,13 @@ func getAvailableIDRanges(fullRanges, usedRanges [][2]int) (availableRanges [][2 // multirange of unassigned subordinated ids. func getAvailableIDRangesFromMappings(idmap []idtools.IDMap, parentMapping []ruser.IDMap) (availableRanges [][2]int) { // Get all subordinated ids from parentMapping: - fullRanges := [][2]int{} // {Multirange: [start, end), [start, end), ...} + fullRanges := make([][2]int, 0, len(parentMapping)) // {Multirange: [start, end), [start, end), ...} for _, mapPiece := range parentMapping { fullRanges = append(fullRanges, [2]int{int(mapPiece.ID), int(mapPiece.ID + mapPiece.Count)}) } // Get the ids already mapped: - usedRanges := [][2]int{} + usedRanges := make([][2]int, 0, len(idmap)) for _, mapPiece := range idmap { usedRanges = append(usedRanges, [2]int{mapPiece.HostID, mapPiece.HostID + mapPiece.Size}) }