diff options
author | Matthew Heon <matthew.heon@gmail.com> | 2018-07-31 09:26:06 -0400 |
---|---|---|
committer | Atomic Bot <atomic-devel@projectatomic.io> | 2018-07-31 14:19:50 +0000 |
commit | 1a439f9fcbbc6a2b509c1ca7e23207a07a652399 (patch) | |
tree | 5f02ab163d1cd99316cc29ca9cb5005c3bbcbce3 /libpod/container_internal.go | |
parent | 21f50b9f34298b456fe5e8d423e849999236828c (diff) | |
download | podman-1a439f9fcbbc6a2b509c1ca7e23207a07a652399.tar.gz podman-1a439f9fcbbc6a2b509c1ca7e23207a07a652399.tar.bz2 podman-1a439f9fcbbc6a2b509c1ca7e23207a07a652399.zip |
Ensure container and pod refresh picks up a State
refresh() is the only major command we had that did not perform a
sync before running, and thus was not guaranteed to pick up a
good copy of the state. Fix this by updating the state before a
refresh().
Signed-off-by: Matthew Heon <matthew.heon@gmail.com>
Closes: #1186
Approved by: rhatdan
Diffstat (limited to 'libpod/container_internal.go')
-rw-r--r-- | libpod/container_internal.go | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/libpod/container_internal.go b/libpod/container_internal.go index 2f258d007..66d1e44ad 100644 --- a/libpod/container_internal.go +++ b/libpod/container_internal.go @@ -329,6 +329,12 @@ func resetState(state *containerState) error { // Refresh refreshes the container's state after a restart func (c *Container) refresh() error { + // Don't need a full sync, but we do need to update from the database to + // pick up potentially-missing container state + if err := c.runtime.state.UpdateContainer(c); err != nil { + return err + } + if !c.valid { return errors.Wrapf(ErrCtrRemoved, "container %s is not valid - may have been removed", c.ID()) } |