diff options
author | Giuseppe Scrivano <gscrivan@redhat.com> | 2021-05-05 15:44:29 +0200 |
---|---|---|
committer | Giuseppe Scrivano <gscrivan@redhat.com> | 2021-05-05 17:58:39 +0200 |
commit | 68fe1950fe5bad7e29b7a75bb1e94a54fd7e5360 (patch) | |
tree | 8d8967ca6df08ce77e8aef98f391327fd23aec3c /libpod/options.go | |
parent | 4d2ba323f2e67fbfd6150582196c6e0229c70a8e (diff) | |
download | podman-68fe1950fe5bad7e29b7a75bb1e94a54fd7e5360.tar.gz podman-68fe1950fe5bad7e29b7a75bb1e94a54fd7e5360.tar.bz2 podman-68fe1950fe5bad7e29b7a75bb1e94a54fd7e5360.zip |
podman: set volatile storage flag for --rm containers
volatile containers are a storage optimization that disables *sync()
syscalls for the container rootfs.
If a container is created with --rm, then automatically set the
volatile storage flag as anyway the container won't persist after a
reboot or machine crash.
[NO TESTS NEEDED]
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
Diffstat (limited to 'libpod/options.go')
-rw-r--r-- | libpod/options.go | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/libpod/options.go b/libpod/options.go index 39415a817..391cf0147 100644 --- a/libpod/options.go +++ b/libpod/options.go @@ -2318,3 +2318,16 @@ func WithPodSlirp4netns(networkOptions map[string][]string) PodCreateOption { return nil } } + +// WithVolatile sets the volatile flag for the container storage. +// The option can potentially cause data loss when used on a container that must survive a machine reboot. +func WithVolatile() CtrCreateOption { + return func(ctr *Container) error { + if ctr.valid { + return define.ErrCtrFinalized + } + + ctr.config.Volatile = true + return nil + } +} |