aboutsummaryrefslogtreecommitdiff
path: root/vendor
diff options
context:
space:
mode:
authorUrvashi Mohnani <umohnani@redhat.com>2019-09-11 12:17:19 -0400
committerUrvashi Mohnani <umohnani@redhat.com>2019-09-11 12:17:19 -0400
commit40e334b680d3d97573090fd849148b657777bbd4 (patch)
treeb295298cccb514cb2cf361f14d5b3b715c068f64 /vendor
parentdba13352fe4f58b3cac12304efbda660c5989a16 (diff)
downloadpodman-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.go20
-rw-r--r--vendor/github.com/containers/storage/layers_ffjson.go2
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