summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Heon <matthew.heon@gmail.com>2018-03-05 17:09:03 -0500
committerAtomic Bot <atomic-devel@projectatomic.io>2018-03-06 01:15:32 +0000
commitff9da1fb3f4122276cf9f78cf0ae4a4d461f78da (patch)
treec35b8b6676b0173cb16206b25d718e2a4cf1674c
parent649e4f07a3809b2522b593714780dbdfad06c771 (diff)
downloadpodman-ff9da1fb3f4122276cf9f78cf0ae4a4d461f78da.tar.gz
podman-ff9da1fb3f4122276cf9f78cf0ae4a4d461f78da.tar.bz2
podman-ff9da1fb3f4122276cf9f78cf0ae4a4d461f78da.zip
Update containers/storage to fix locking bug
Update to commit hash 1e5ce40cdb84ab66e26186435b1273e04b879fef Signed-off-by: Matthew Heon <matthew.heon@gmail.com> Closes: #451 Approved by: rhatdan
-rw-r--r--vendor.conf2
-rw-r--r--vendor/github.com/containers/storage/store.go11
2 files changed, 10 insertions, 3 deletions
diff --git a/vendor.conf b/vendor.conf
index a9f400d13..644d5e7a9 100644
--- a/vendor.conf
+++ b/vendor.conf
@@ -3,7 +3,7 @@ github.com/sirupsen/logrus v1.0.0
github.com/containers/image f7ea1dcb32a06092905672e99faa75bf2f61632b
github.com/docker/docker-credential-helpers d68f9aeca33f5fd3f08eeae5e9d175edf4e731d1
github.com/ostreedev/ostree-go master
-github.com/containers/storage 477e551dd493e5c80999d3690d3a201fd26ba2f1
+github.com/containers/storage 1e5ce40cdb84ab66e26186435b1273e04b879fef
github.com/containernetworking/cni v0.4.0
google.golang.org/grpc v1.0.4 https://github.com/grpc/grpc-go
github.com/opencontainers/selinux b29023b86e4a69d1b46b7e7b4e2b6fda03f0b9cd
diff --git a/vendor/github.com/containers/storage/store.go b/vendor/github.com/containers/storage/store.go
index de6054327..a31a08b2a 100644
--- a/vendor/github.com/containers/storage/store.go
+++ b/vendor/github.com/containers/storage/store.go
@@ -462,6 +462,12 @@ type store struct {
// GetStore attempts to find an already-created Store object matching the
// specified location and graph driver, and if it can't, it creates and
// initializes a new Store object, and the underlying storage that it controls.
+//
+// If StoreOptions `options` haven't been fully populated, then DefaultStoreOptions are used.
+//
+// These defaults observe environment variables:
+// * `STORAGE_DRIVER` for the name of the storage driver to attempt to use
+// * `STORAGE_OPTS` for the string of options to pass to the driver
func GetStore(options StoreOptions) (Store, error) {
if options.RunRoot == "" && options.GraphRoot == "" && options.GraphDriverName == "" && len(options.GraphDriverOptions) == 0 {
options = DefaultStoreOptions
@@ -2270,14 +2276,15 @@ func (s *store) Shutdown(force bool) ([]string, error) {
return mounted, err
}
+ s.graphLock.Lock()
+ defer s.graphLock.Unlock()
+
rlstore.Lock()
defer rlstore.Unlock()
if modified, err := rlstore.Modified(); modified || err != nil {
rlstore.Load()
}
- s.graphLock.Lock()
- defer s.graphLock.Unlock()
layers, err := rlstore.Layers()
if err != nil {
return mounted, err