From ff9da1fb3f4122276cf9f78cf0ae4a4d461f78da Mon Sep 17 00:00:00 2001 From: Matthew Heon Date: Mon, 5 Mar 2018 17:09:03 -0500 Subject: Update containers/storage to fix locking bug Update to commit hash 1e5ce40cdb84ab66e26186435b1273e04b879fef Signed-off-by: Matthew Heon Closes: #451 Approved by: rhatdan --- vendor.conf | 2 +- vendor/github.com/containers/storage/store.go | 11 +++++++++-- 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 -- cgit v1.2.3-54-g00ecf