diff options
author | Matthew Heon <matthew.heon@gmail.com> | 2018-03-15 17:09:31 -0400 |
---|---|---|
committer | Atomic Bot <atomic-devel@projectatomic.io> | 2018-03-16 13:35:23 +0000 |
commit | 8840b92da603f9db5ba2590f4b0836ad580fbe56 (patch) | |
tree | 9301955b4a483c07b5257a6530b4eb6ecc648165 /libpod/container_api.go | |
parent | eb33cc2193b0dfdae359b3fd7cd18ef0f4284f75 (diff) | |
download | podman-8840b92da603f9db5ba2590f4b0836ad580fbe56.tar.gz podman-8840b92da603f9db5ba2590f4b0836ad580fbe56.tar.bz2 podman-8840b92da603f9db5ba2590f4b0836ad580fbe56.zip |
Remove ability to specify mount label when mounting
Signed-off-by: Matthew Heon <matthew.heon@gmail.com>
Closes: #506
Approved by: rhatdan
Diffstat (limited to 'libpod/container_api.go')
-rw-r--r-- | libpod/container_api.go | 27 |
1 files changed, 8 insertions, 19 deletions
diff --git a/libpod/container_api.go b/libpod/container_api.go index cfffa2232..ef94aa4c9 100644 --- a/libpod/container_api.go +++ b/libpod/container_api.go @@ -368,7 +368,7 @@ func (c *Container) Attach(noStdin bool, keys string) error { // Mount mounts a container's filesystem on the host // The path where the container has been mounted is returned -func (c *Container) Mount(label string) (string, error) { +func (c *Container) Mount() (string, error) { if !c.locked { c.lock.Lock() defer c.lock.Unlock() @@ -378,27 +378,11 @@ func (c *Container) Mount(label string) (string, error) { } } - // return mountpoint if container already mounted - if c.state.Mounted { - return c.state.Mountpoint, nil - } - - mountLabel := label - if label == "" { - mountLabel = c.config.MountLabel - } - mountPoint, err := c.runtime.store.Mount(c.ID(), mountLabel) - if err != nil { + if err := c.mountStorage(); err != nil { return "", err } - c.state.Mountpoint = mountPoint - c.state.Mounted = true - if err := c.save(); err != nil { - return "", err - } - - return mountPoint, nil + return c.state.Mountpoint, nil } // Unmount unmounts a container's filesystem on the host @@ -416,6 +400,11 @@ func (c *Container) Unmount() error { return errors.Wrapf(ErrCtrStateInvalid, "cannot remove storage for container %s as it is running or paused", c.ID()) } + // Check if we have active exec sessions + if len(c.state.ExecSessions) != 0 { + return errors.Wrapf(ErrCtrStateInvalid, "container %s has active exec sessions, refusing to clean up", c.ID()) + } + return c.cleanupStorage() } |