summaryrefslogtreecommitdiff
path: root/libpod/pod_internal.go
diff options
context:
space:
mode:
authorMatthew Heon <matthew.heon@pm.me>2019-05-06 13:44:01 -0400
committerMatthew Heon <matthew.heon@pm.me>2019-05-06 14:17:54 -0400
commitfaae3a7065980a735ad60ab5f6d9e8421296dbf5 (patch)
treeca4e9dcdaaf1684fa446b3d4a48f686d1b86333a /libpod/pod_internal.go
parentff260f07e2be55c7fbda24b8727686fc55c650a6 (diff)
downloadpodman-faae3a7065980a735ad60ab5f6d9e8421296dbf5.tar.gz
podman-faae3a7065980a735ad60ab5f6d9e8421296dbf5.tar.bz2
podman-faae3a7065980a735ad60ab5f6d9e8421296dbf5.zip
When refreshing after a reboot, force lock allocation
After a reboot, when we refresh Podman's state, we retrieved the lock from the fresh SHM instance, but we did not mark it as allocated to prevent it being handed out to other containers and pods. Provide a method for marking locks as in-use, and use it when we refresh Podman state after a reboot. Fixes #2900 Signed-off-by: Matthew Heon <matthew.heon@pm.me>
Diffstat (limited to 'libpod/pod_internal.go')
-rw-r--r--libpod/pod_internal.go2
1 files changed, 1 insertions, 1 deletions
diff --git a/libpod/pod_internal.go b/libpod/pod_internal.go
index 25e4e77d7..1fcb5b1a6 100644
--- a/libpod/pod_internal.go
+++ b/libpod/pod_internal.go
@@ -56,7 +56,7 @@ func (p *Pod) refresh() error {
}
// Retrieve the pod's lock
- lock, err := p.runtime.lockManager.RetrieveLock(p.config.LockID)
+ lock, err := p.runtime.lockManager.AllocateAndRetrieveLock(p.config.LockID)
if err != nil {
return errors.Wrapf(err, "error retrieving lock for pod %s", p.ID())
}