diff options
author | Matthew Heon <matthew.heon@gmail.com> | 2017-12-06 11:15:17 -0500 |
---|---|---|
committer | Matthew Heon <matthew.heon@gmail.com> | 2017-12-06 11:15:17 -0500 |
commit | b66287689a0c8c9f2f8c01cdca065fb1f6e8d872 (patch) | |
tree | a15f1b5c3e3a5bc9f22a22bf967111565fc6087d /libpod | |
parent | ceb7fb1c60e559337523259f1e0063135e686c95 (diff) | |
download | podman-b66287689a0c8c9f2f8c01cdca065fb1f6e8d872.tar.gz podman-b66287689a0c8c9f2f8c01cdca065fb1f6e8d872.tar.bz2 podman-b66287689a0c8c9f2f8c01cdca065fb1f6e8d872.zip |
Do not recreate containers in runc after restart
Signed-off-by: Matthew Heon <matthew.heon@gmail.com>
Diffstat (limited to 'libpod')
-rw-r--r-- | libpod/container.go | 26 |
1 files changed, 4 insertions, 22 deletions
diff --git a/libpod/container.go b/libpod/container.go index d12167d15..adc52d85f 100644 --- a/libpod/container.go +++ b/libpod/container.go @@ -428,23 +428,11 @@ func (c *Container) refresh() error { c.state.Mounted = false c.state.Mountpoint = "" - // The container is no longe running + // The container is no longer running c.state.PID = 0 - // Check the container's state. If it's not created in runc yet, we're - // done - if c.state.State == ContainerStateConfigured { - if err := c.runtime.state.SaveContainer(c); err != nil { - return errors.Wrapf(err, "error refreshing state for container %s", c.ID()) - } - - return nil - } - - // The container must be recreated in runc - if err := c.init(); err != nil { - return err - } + // The container no longer exists in runc + c.state.State = ContainerStateConfigured if err := c.runtime.state.SaveContainer(c); err != nil { return errors.Wrapf(err, "error refreshing state for container %s", c.ID()) @@ -454,7 +442,7 @@ func (c *Container) refresh() error { } // Init creates a container in the OCI runtime -func (c *Container) Init() error { +func (c *Container) Init() (err error) { c.lock.Lock() defer c.lock.Unlock() @@ -466,12 +454,6 @@ func (c *Container) Init() error { return errors.Wrapf(ErrCtrExists, "container %s has already been created in runtime", c.ID()) } - return c.init() -} - -// Creates container in OCI runtime -// Internal only - does not lock or check state -func (c *Container) init() (err error) { if err := c.mountStorage(); err != nil { return err } |