diff --git a/libpod/container_commit.go b/libpod/container_commit.go index 43bb56a40c..c2d43928b9 100644 --- a/libpod/container_commit.go +++ b/libpod/container_commit.go @@ -67,7 +67,7 @@ func (c *Container) Commit(ctx context.Context, destImage string, options Contai SignaturePolicyPath: options.SignaturePolicyPath, ReportWriter: options.ReportWriter, Squash: options.Squash, - SystemContext: c.runtime.imageContext, + SystemContext: &c.runtime.imageContext, PreferredManifestType: options.PreferredManifestType, OverrideChanges: append(append([]string{}, options.Changes...), options.CommitOptions.OverrideChanges...), OverrideConfig: options.CommitOptions.OverrideConfig, diff --git a/libpod/container_internal.go b/libpod/container_internal.go index 614baa4302..8ff174a251 100644 --- a/libpod/container_internal.go +++ b/libpod/container_internal.go @@ -512,7 +512,7 @@ func (c *Container) setupStorage(ctx context.Context) error { } c.config.Name = name } - containerInfo, containerInfoErr = c.runtime.storageService.CreateContainerStorage(ctx, c.runtime.imageContext, c.config.RootfsImageName, c.config.RootfsImageID, c.config.Name, c.config.ID, options) + containerInfo, containerInfoErr = c.runtime.storageService.CreateContainerStorage(ctx, &c.runtime.imageContext, c.config.RootfsImageName, c.config.RootfsImageID, c.config.Name, c.config.ID, options) if !generateName || !errors.Is(containerInfoErr, storage.ErrDuplicateName) { break diff --git a/libpod/container_internal_common.go b/libpod/container_internal_common.go index 02ca34f282..de3a8d65e4 100644 --- a/libpod/container_internal_common.go +++ b/libpod/container_internal_common.go @@ -1108,7 +1108,7 @@ func (c *Container) createCheckpointImage(ctx context.Context, options Container commitOptions := buildah.CommitOptions{ Squash: true, - SystemContext: c.runtime.imageContext, + SystemContext: &c.runtime.imageContext, } // Create checkpoint image diff --git a/libpod/options.go b/libpod/options.go index 61490e8e0f..38f4f3ee17 100644 --- a/libpod/options.go +++ b/libpod/options.go @@ -25,7 +25,6 @@ import ( "go.podman.io/common/pkg/config" "go.podman.io/common/pkg/secrets" "go.podman.io/image/v5/manifest" - "go.podman.io/image/v5/types" "go.podman.io/storage" "go.podman.io/storage/pkg/fileutils" "go.podman.io/storage/pkg/idtools" @@ -221,9 +220,6 @@ func WithRegistriesConf(path string) RuntimeOption { if err := fileutils.Exists(path); err != nil { return fmt.Errorf("locating specified registries.conf: %w", err) } - if rt.imageContext == nil { - rt.imageContext = &types.SystemContext{} - } rt.imageContext.SystemRegistriesConfPath = path return nil diff --git a/libpod/runtime.go b/libpod/runtime.go index f84a89042b..2a6e052c05 100644 --- a/libpod/runtime.go +++ b/libpod/runtime.go @@ -71,7 +71,7 @@ type Runtime struct { state State store storage.Store storageService *storageService - imageContext *types.SystemContext + imageContext types.SystemContext defaultOCIRuntime OCIRuntime ociRuntimes map[string]OCIRuntime runtimeFlags []string @@ -436,10 +436,8 @@ func makeRuntime(ctx context.Context, runtime *Runtime) (retErr error) { runtime.eventer = eventer // Set up containers/image - if runtime.imageContext == nil { - runtime.imageContext = &types.SystemContext{ - BigFilesTemporaryDir: parse.GetTempDir(), - } + if runtime.imageContext.BigFilesTemporaryDir == "" { + runtime.imageContext.BigFilesTemporaryDir = parse.GetTempDir() } runtime.imageContext.SignaturePolicyPath = runtime.config.Engine.SignaturePolicyPath @@ -910,7 +908,7 @@ func (r *Runtime) configureStore() error { r.storageService = getStorageService(r.store) runtimeOptions := &libimage.RuntimeOptions{ - SystemContext: r.imageContext, + SystemContext: &r.imageContext, } libimageRuntime, err := libimage.RuntimeFromStore(store, runtimeOptions) if err != nil { diff --git a/libpod/runtime_volume_common.go b/libpod/runtime_volume_common.go index 8717dbd9e7..bdcb40aa1a 100644 --- a/libpod/runtime_volume_common.go +++ b/libpod/runtime_volume_common.go @@ -136,7 +136,7 @@ func (r *Runtime) newVolume(ctx context.Context, noCreatePluginVolume bool, opti } storageConfig.LabelOpts = []string{fmt.Sprintf("filetype:%s", context["type"])} } - if _, err := r.storageService.CreateContainerStorage(ctx, r.imageContext, imgString, image.ID(), volume.config.StorageName, volume.config.StorageID, storageConfig); err != nil { + if _, err := r.storageService.CreateContainerStorage(ctx, &r.imageContext, imgString, image.ID(), volume.config.StorageName, volume.config.StorageID, storageConfig); err != nil { return nil, fmt.Errorf("creating backing storage for image driver: %w", err) } defer func() {