summaryrefslogtreecommitdiff
path: root/libpod
diff options
context:
space:
mode:
authorOpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com>2021-07-27 22:20:45 +0200
committerGitHub <noreply@github.com>2021-07-27 22:20:45 +0200
commita5de8314188d7376f645d8ac6c6f7a6f685b6a45 (patch)
tree6d92b92aa6e53b84372018798771f7f868dbfc99 /libpod
parent22b3fe59e8d77fc08bca7ce22015feb85962e547 (diff)
parent0aec93edcaf77785ef43c74700a9cd36375641cf (diff)
downloadpodman-a5de8314188d7376f645d8ac6c6f7a6f685b6a45.tar.gz
podman-a5de8314188d7376f645d8ac6c6f7a6f685b6a45.tar.bz2
podman-a5de8314188d7376f645d8ac6c6f7a6f685b6a45.zip
Merge pull request #11049 from vrothberg/fix-7370
support container to container copy
Diffstat (limited to 'libpod')
-rw-r--r--libpod/container_api.go4
-rw-r--r--libpod/container_copy_linux.go3
2 files changed, 4 insertions, 3 deletions
diff --git a/libpod/container_api.go b/libpod/container_api.go
index 390bba7bb..d221baa77 100644
--- a/libpod/container_api.go
+++ b/libpod/container_api.go
@@ -840,7 +840,7 @@ func (c *Container) ShouldRestart(ctx context.Context) bool {
// CopyFromArchive copies the contents from the specified tarStream to path
// *inside* the container.
-func (c *Container) CopyFromArchive(ctx context.Context, containerPath string, chown bool, tarStream io.Reader) (func() error, error) {
+func (c *Container) CopyFromArchive(ctx context.Context, containerPath string, chown bool, rename map[string]string, tarStream io.Reader) (func() error, error) {
if !c.batched {
c.lock.Lock()
defer c.lock.Unlock()
@@ -850,7 +850,7 @@ func (c *Container) CopyFromArchive(ctx context.Context, containerPath string, c
}
}
- return c.copyFromArchive(ctx, containerPath, chown, tarStream)
+ return c.copyFromArchive(ctx, containerPath, chown, rename, tarStream)
}
// CopyToArchive copies the contents from the specified path *inside* the
diff --git a/libpod/container_copy_linux.go b/libpod/container_copy_linux.go
index 01e7ecacb..a35824289 100644
--- a/libpod/container_copy_linux.go
+++ b/libpod/container_copy_linux.go
@@ -23,7 +23,7 @@ import (
"golang.org/x/sys/unix"
)
-func (c *Container) copyFromArchive(ctx context.Context, path string, chown bool, reader io.Reader) (func() error, error) {
+func (c *Container) copyFromArchive(ctx context.Context, path string, chown bool, rename map[string]string, reader io.Reader) (func() error, error) {
var (
mountPoint string
resolvedRoot string
@@ -89,6 +89,7 @@ func (c *Container) copyFromArchive(ctx context.Context, path string, chown bool
GIDMap: c.config.IDMappings.GIDMap,
ChownDirs: idPair,
ChownFiles: idPair,
+ Rename: rename,
}
return c.joinMountAndExec(ctx,