From 77f2e8467a65ce97f44d3efa7c01c6a65c7e4c4d Mon Sep 17 00:00:00 2001 From: Matthew Heon Date: Tue, 25 Jun 2019 18:06:00 -0400 Subject: Fix parsing of the --tmpfs option With StringSlice, we're seeing individual options added and parsed separately, so `tmpfs:nosuid,nodev` turns into three tmpfs mounts passed into pkg/sec (tmpfs:, nosuid, nodev). Swap to StringArray to tell cobra this can't be split on commas. Signed-off-by: Matthew Heon --- cmd/podman/common.go | 2 +- cmd/podman/shared/create.go | 2 +- cmd/podman/shared/intermediate.go | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/cmd/podman/common.go b/cmd/podman/common.go index 054b01247..8a78e9079 100644 --- a/cmd/podman/common.go +++ b/cmd/podman/common.go @@ -496,7 +496,7 @@ func getCreateFlags(c *cliconfig.PodmanCommand) { "systemd", cliconfig.DefaultSystemD, "Run container in systemd mode if the command executable is systemd or init", ) - createFlags.StringSlice( + createFlags.StringArray( "tmpfs", []string{}, "Mount a temporary filesystem (`tmpfs`) into a container (default [])", ) diff --git a/cmd/podman/shared/create.go b/cmd/podman/shared/create.go index eee5f515d..4491e5c1b 100644 --- a/cmd/podman/shared/create.go +++ b/cmd/podman/shared/create.go @@ -690,7 +690,7 @@ func ParseCreateOpts(ctx context.Context, c *GenericCLIResults, runtime *libpod. StopTimeout: c.Uint("stop-timeout"), Sysctl: sysctl, Systemd: systemd, - Tmpfs: c.StringSlice("tmpfs"), + Tmpfs: c.StringArray("tmpfs"), Tty: tty, User: user, UsernsMode: usernsMode, diff --git a/cmd/podman/shared/intermediate.go b/cmd/podman/shared/intermediate.go index a38e4d47a..eecd1604c 100644 --- a/cmd/podman/shared/intermediate.go +++ b/cmd/podman/shared/intermediate.go @@ -448,7 +448,7 @@ func NewIntermediateLayer(c *cliconfig.PodmanCommand, remote bool) GenericCLIRes m["subuidname"] = newCRString(c, "subuidname") m["sysctl"] = newCRStringSlice(c, "sysctl") m["systemd"] = newCRBool(c, "systemd") - m["tmpfs"] = newCRStringSlice(c, "tmpfs") + m["tmpfs"] = newCRStringArray(c, "tmpfs") m["tty"] = newCRBool(c, "tty") m["uidmap"] = newCRStringSlice(c, "uidmap") m["ulimit"] = newCRStringSlice(c, "ulimit") -- cgit v1.2.3-54-g00ecf