diff options
author | Giuseppe Scrivano <gscrivan@redhat.com> | 2022-06-25 18:59:53 +0200 |
---|---|---|
committer | Giuseppe Scrivano <gscrivan@redhat.com> | 2022-06-27 20:22:20 +0200 |
commit | aada13f244d52dad9b6a1cfaa725e9d36d75a858 (patch) | |
tree | 5342476dc54a2bf9ce64096c124249c6e631a8f6 /pkg | |
parent | a4094530bc8b0d5fdbd8ad4ce9a136fe15ee7cee (diff) | |
download | podman-aada13f244d52dad9b6a1cfaa725e9d36d75a858.tar.gz podman-aada13f244d52dad9b6a1cfaa725e9d36d75a858.tar.bz2 podman-aada13f244d52dad9b6a1cfaa725e9d36d75a858.zip |
volume: new options [no]copy
add two new options to the volume create command: copy and nocopy.
When nocopy is specified, the files from the container image are not
copied up to the volume.
Closes: https://github.com/containers/podman/issues/14722
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
Diffstat (limited to 'pkg')
-rw-r--r-- | pkg/util/mountOpts.go | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/pkg/util/mountOpts.go b/pkg/util/mountOpts.go index e37394619..d1dd75a82 100644 --- a/pkg/util/mountOpts.go +++ b/pkg/util/mountOpts.go @@ -25,7 +25,7 @@ type defaultMountOptions struct { // The sourcePath variable, if not empty, contains a bind mount source. func ProcessOptions(options []string, isTmpfs bool, sourcePath string) ([]string, error) { var ( - foundWrite, foundSize, foundProp, foundMode, foundExec, foundSuid, foundDev, foundCopyUp, foundBind, foundZ, foundU, foundOverlay, foundIdmap bool + foundWrite, foundSize, foundProp, foundMode, foundExec, foundSuid, foundDev, foundCopyUp, foundBind, foundZ, foundU, foundOverlay, foundIdmap, foundCopy bool ) newOptions := make([]string, 0, len(options)) @@ -55,6 +55,11 @@ func ProcessOptions(options []string, isTmpfs bool, sourcePath string) ([]string } switch splitOpt[0] { + case "copy", "nocopy": + if foundCopy { + return nil, errors.Wrapf(ErrDupeMntOption, "only one of 'nocopy' and 'copy' can be used") + } + foundCopy = true case "O": foundOverlay = true case "volume-opt": |