From 68fe1950fe5bad7e29b7a75bb1e94a54fd7e5360 Mon Sep 17 00:00:00 2001 From: Giuseppe Scrivano Date: Wed, 5 May 2021 15:44:29 +0200 Subject: 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 --- pkg/specgen/generate/container_create.go | 3 +++ pkg/specgen/specgen.go | 3 +++ 2 files changed, 6 insertions(+) (limited to 'pkg') diff --git a/pkg/specgen/generate/container_create.go b/pkg/specgen/generate/container_create.go index 277435ef1..2dfca82d7 100644 --- a/pkg/specgen/generate/container_create.go +++ b/pkg/specgen/generate/container_create.go @@ -194,6 +194,9 @@ func createContainerOptions(ctx context.Context, rt *libpod.Runtime, s *specgen. if s.Umask != "" { options = append(options, libpod.WithUmask(s.Umask)) } + if s.Volatile { + options = append(options, libpod.WithVolatile()) + } useSystemd := false switch s.Systemd { diff --git a/pkg/specgen/specgen.go b/pkg/specgen/specgen.go index fdcb7a0e0..5ef2b0653 100644 --- a/pkg/specgen/specgen.go +++ b/pkg/specgen/specgen.go @@ -256,6 +256,9 @@ type ContainerStorageConfig struct { // Secrets are the secrets that will be added to the container // Optional. Secrets []string `json:"secrets,omitempty"` + // Volatile specifies whether the container storage can be optimized + // at the cost of not syncing all the dirty files in memory. + Volatile bool `json:"volatile,omitempty"` } // ContainerSecurityConfig is a container's security features, including -- cgit v1.2.3-54-g00ecf