diff options
author | Urvashi Mohnani <umohnani@redhat.com> | 2019-09-11 12:17:19 -0400 |
---|---|---|
committer | Urvashi Mohnani <umohnani@redhat.com> | 2019-09-11 12:17:19 -0400 |
commit | 40e334b680d3d97573090fd849148b657777bbd4 (patch) | |
tree | b295298cccb514cb2cf361f14d5b3b715c068f64 /vendor | |
parent | dba13352fe4f58b3cac12304efbda660c5989a16 (diff) | |
download | podman-40e334b680d3d97573090fd849148b657777bbd4.tar.gz podman-40e334b680d3d97573090fd849148b657777bbd4.tar.bz2 podman-40e334b680d3d97573090fd849148b657777bbd4.zip |
Vendor in c/storage fix on double-locking mounts list
Signed-off-by: Urvashi Mohnani <umohnani@redhat.com>
Diffstat (limited to 'vendor')
-rw-r--r-- | vendor/github.com/containers/storage/layers.go | 20 | ||||
-rw-r--r-- | vendor/github.com/containers/storage/layers_ffjson.go | 2 |
2 files changed, 13 insertions, 9 deletions
diff --git a/vendor/github.com/containers/storage/layers.go b/vendor/github.com/containers/storage/layers.go index fb79238cd..cb975e2a0 100644 --- a/vendor/github.com/containers/storage/layers.go +++ b/vendor/github.com/containers/storage/layers.go @@ -362,7 +362,7 @@ func (r *layerStore) Load() error { } } if shouldSave { - return r.Save() + return r.saveLayers() } } return err @@ -393,6 +393,16 @@ func (r *layerStore) loadMounts() error { } func (r *layerStore) Save() error { + r.mountsLockfile.Lock() + defer r.mountsLockfile.Unlock() + defer r.mountsLockfile.Touch() + if err := r.saveLayers(); err != nil { + return err + } + return r.saveMounts() +} + +func (r *layerStore) saveLayers() error { if !r.IsReadWrite() { return errors.Wrapf(ErrStoreIsReadOnly, "not allowed to modify the layer store at %q", r.layerspath()) } @@ -408,13 +418,7 @@ func (r *layerStore) Save() error { return err } defer r.Touch() - if err := ioutils.AtomicWriteFile(rpath, jldata, 0600); err != nil { - return err - } - r.mountsLockfile.Lock() - defer r.mountsLockfile.Unlock() - defer r.mountsLockfile.Touch() - return r.saveMounts() + return ioutils.AtomicWriteFile(rpath, jldata, 0600) } func (r *layerStore) saveMounts() error { diff --git a/vendor/github.com/containers/storage/layers_ffjson.go b/vendor/github.com/containers/storage/layers_ffjson.go index 125b5d8c9..09b5d0f33 100644 --- a/vendor/github.com/containers/storage/layers_ffjson.go +++ b/vendor/github.com/containers/storage/layers_ffjson.go @@ -1,5 +1,5 @@ // Code generated by ffjson <https://github.com/pquerna/ffjson>. DO NOT EDIT. -// source: layers.go +// source: ./layers.go package storage |