summaryrefslogtreecommitdiff
path: root/pkg
diff options
context:
space:
mode:
Diffstat (limited to 'pkg')
-rw-r--r--pkg/cgroups/cgroups.go5
-rw-r--r--pkg/domain/entities/images.go2
-rw-r--r--pkg/domain/infra/abi/images.go1
-rw-r--r--pkg/domain/infra/abi/manifest.go2
-rw-r--r--pkg/domain/infra/tunnel/manifest.go2
-rw-r--r--pkg/machine/libvirt/config.go6
-rw-r--r--pkg/machine/libvirt/machine.go17
-rw-r--r--pkg/machine/libvirt/machine_unsupported.go3
-rw-r--r--pkg/machine/qemu/machine.go3
-rw-r--r--pkg/machine/qemu/options_darwin_amd64.go2
-rw-r--r--pkg/machine/qemu/options_darwin_arm64.go1
-rw-r--r--pkg/specgenutil/specgen.go2
12 files changed, 15 insertions, 31 deletions
diff --git a/pkg/cgroups/cgroups.go b/pkg/cgroups/cgroups.go
index 9cb32a364..4bb8de69b 100644
--- a/pkg/cgroups/cgroups.go
+++ b/pkg/cgroups/cgroups.go
@@ -231,7 +231,10 @@ func getCgroupPathForCurrentProcess() (string, error) {
for s.Scan() {
text := s.Text()
procEntries := strings.SplitN(text, "::", 2)
- cgroupPath = procEntries[1]
+ // set process cgroupPath only if entry is valid
+ if len(procEntries) > 1 {
+ cgroupPath = procEntries[1]
+ }
}
if err := s.Err(); err != nil {
return cgroupPath, err
diff --git a/pkg/domain/entities/images.go b/pkg/domain/entities/images.go
index 262b09cad..c575212b1 100644
--- a/pkg/domain/entities/images.go
+++ b/pkg/domain/entities/images.go
@@ -89,6 +89,8 @@ type ImageRemoveOptions struct {
All bool
// Foce will force image removal including containers using the images.
Force bool
+ // Confirms if given name is a manifest list and removes it, otherwise returns error.
+ LookupManifest bool
}
// ImageRemoveResponse is the response for removing one or more image(s) from storage
diff --git a/pkg/domain/infra/abi/images.go b/pkg/domain/infra/abi/images.go
index e8739615d..a88d38a10 100644
--- a/pkg/domain/infra/abi/images.go
+++ b/pkg/domain/infra/abi/images.go
@@ -521,6 +521,7 @@ func (ir *ImageEngine) Remove(ctx context.Context, images []string, opts entitie
libimageOptions := &libimage.RemoveImagesOptions{}
libimageOptions.Filters = []string{"readonly=false"}
libimageOptions.Force = opts.Force
+ libimageOptions.LookupManifest = opts.LookupManifest
if !opts.All {
libimageOptions.Filters = append(libimageOptions.Filters, "intermediate=false")
}
diff --git a/pkg/domain/infra/abi/manifest.go b/pkg/domain/infra/abi/manifest.go
index 666bc997d..1dd0686ac 100644
--- a/pkg/domain/infra/abi/manifest.go
+++ b/pkg/domain/infra/abi/manifest.go
@@ -306,7 +306,7 @@ func (ir *ImageEngine) ManifestRemove(ctx context.Context, names []string) (stri
// ManifestRm removes the specified manifest list from storage
func (ir *ImageEngine) ManifestRm(ctx context.Context, names []string) (report *entities.ImageRemoveReport, rmErrors []error) {
- return ir.Remove(ctx, names, entities.ImageRemoveOptions{})
+ return ir.Remove(ctx, names, entities.ImageRemoveOptions{LookupManifest: true})
}
// ManifestPush pushes a manifest list or image index to the destination
diff --git a/pkg/domain/infra/tunnel/manifest.go b/pkg/domain/infra/tunnel/manifest.go
index b8069405a..62634f561 100644
--- a/pkg/domain/infra/tunnel/manifest.go
+++ b/pkg/domain/infra/tunnel/manifest.go
@@ -85,7 +85,7 @@ func (ir *ImageEngine) ManifestRemove(ctx context.Context, names []string) (stri
// ManifestRm removes the specified manifest list from storage
func (ir *ImageEngine) ManifestRm(ctx context.Context, names []string) (*entities.ImageRemoveReport, []error) {
- return ir.Remove(ctx, names, entities.ImageRemoveOptions{})
+ return ir.Remove(ctx, names, entities.ImageRemoveOptions{LookupManifest: true})
}
// ManifestPush pushes a manifest list or image index to the destination
diff --git a/pkg/machine/libvirt/config.go b/pkg/machine/libvirt/config.go
deleted file mode 100644
index 1ce5ab154..000000000
--- a/pkg/machine/libvirt/config.go
+++ /dev/null
@@ -1,6 +0,0 @@
-// +build amd64,linux arm64,linux amd64,darwin arm64,darwin
-
-package libvirt
-
-type MachineVM struct {
-}
diff --git a/pkg/machine/libvirt/machine.go b/pkg/machine/libvirt/machine.go
deleted file mode 100644
index e1aa1569b..000000000
--- a/pkg/machine/libvirt/machine.go
+++ /dev/null
@@ -1,17 +0,0 @@
-// +build amd64,linux arm64,linux amd64,darwin arm64,darwin
-
-package libvirt
-
-import "github.com/containers/podman/v3/pkg/machine"
-
-func (v *MachineVM) Init(name string, opts machine.InitOptions) error {
- return nil
-}
-
-func (v *MachineVM) Start(name string) error {
- return nil
-}
-
-func (v *MachineVM) Stop(name string) error {
- return nil
-}
diff --git a/pkg/machine/libvirt/machine_unsupported.go b/pkg/machine/libvirt/machine_unsupported.go
deleted file mode 100644
index 8b54440fe..000000000
--- a/pkg/machine/libvirt/machine_unsupported.go
+++ /dev/null
@@ -1,3 +0,0 @@
-// +build !amd64 amd64,windows
-
-package libvirt
diff --git a/pkg/machine/qemu/machine.go b/pkg/machine/qemu/machine.go
index 38a16c3ef..dc7703724 100644
--- a/pkg/machine/qemu/machine.go
+++ b/pkg/machine/qemu/machine.go
@@ -278,6 +278,9 @@ func (v *MachineVM) Start(name string, _ machine.StartOptions) error {
time.Sleep(wait)
wait++
}
+ if err != nil {
+ return err
+ }
fd, err := qemuSocketConn.(*net.UnixConn).File()
if err != nil {
diff --git a/pkg/machine/qemu/options_darwin_amd64.go b/pkg/machine/qemu/options_darwin_amd64.go
index ee1036291..ff8d10db1 100644
--- a/pkg/machine/qemu/options_darwin_amd64.go
+++ b/pkg/machine/qemu/options_darwin_amd64.go
@@ -5,7 +5,7 @@ var (
)
func (v *MachineVM) addArchOptions() []string {
- opts := []string{"-machine", "q35,accel=hvf:tcg"}
+ opts := []string{"-machine", "q35,accel=hvf:tcg", "-cpu", "host"}
return opts
}
diff --git a/pkg/machine/qemu/options_darwin_arm64.go b/pkg/machine/qemu/options_darwin_arm64.go
index 7513b3048..8c651584e 100644
--- a/pkg/machine/qemu/options_darwin_arm64.go
+++ b/pkg/machine/qemu/options_darwin_arm64.go
@@ -13,6 +13,7 @@ func (v *MachineVM) addArchOptions() []string {
ovmfDir := getOvmfDir(v.ImagePath, v.Name)
opts := []string{
"-accel", "hvf",
+ "-accel", "tcg",
"-cpu", "cortex-a57",
"-M", "virt,highmem=off",
"-drive", "file=/usr/local/share/qemu/edk2-aarch64-code.fd,if=pflash,format=raw,readonly=on",
diff --git a/pkg/specgenutil/specgen.go b/pkg/specgenutil/specgen.go
index 9f676db1b..6a6397257 100644
--- a/pkg/specgenutil/specgen.go
+++ b/pkg/specgenutil/specgen.go
@@ -453,7 +453,7 @@ func FillOutSpecGen(s *specgen.SpecGenerator, c *entities.ContainerCreateOptions
s.ImageVolumeMode = "anonymous"
}
- s.Systemd = c.Systemd
+ s.Systemd = strings.ToLower(c.Systemd)
s.SdNotifyMode = c.SdNotifyMode
if s.ResourceLimits == nil {
s.ResourceLimits = &specs.LinuxResources{}