summaryrefslogtreecommitdiff
path: root/libpod
diff options
context:
space:
mode:
Diffstat (limited to 'libpod')
-rw-r--r--libpod/container_internal.go6
-rw-r--r--libpod/pod.go5
2 files changed, 11 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())
}
diff --git a/libpod/pod.go b/libpod/pod.go
index 9ea1f058b..2ad4f7d0e 100644
--- a/libpod/pod.go
+++ b/libpod/pod.go
@@ -154,6 +154,11 @@ func (p *Pod) save() error {
// Refresh a pod's state after restart
func (p *Pod) refresh() error {
+ // Need to to an update from the DB to pull potentially-missing state
+ if err := p.runtime.state.UpdatePod(p); err != nil {
+ return err
+ }
+
if !p.valid {
return ErrPodRemoved
}