diff --git a/patch/0052-clean-container-if-save-json-failed.patch b/patch/0052-clean-container-if-save-json-failed.patch new file mode 100644 index 0000000000000000000000000000000000000000..f6871e9abb6868163fa9ada31a415990050c9d12 --- /dev/null +++ b/patch/0052-clean-container-if-save-json-failed.patch @@ -0,0 +1,31 @@ +From ed39db013b234639887c15fe4c8ccf843570958f Mon Sep 17 00:00:00 2001 +From: haozi007 +Date: Wed, 22 Apr 2020 10:55:12 +0800 +Subject: [PATCH] clean container if save json failed + +Signed-off-by: haozi007 +--- + vendor/github.com/containers/storage/store.go | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/vendor/github.com/containers/storage/store.go b/vendor/github.com/containers/storage/store.go +index e1cfc82..0afe3f5 100644 +--- a/vendor/github.com/containers/storage/store.go ++++ b/vendor/github.com/containers/storage/store.go +@@ -1435,10 +1435,13 @@ func (s *store) CreateContainer(id string, names []string, image, layer, metadat + } + container, err := rcstore.Create(id, names, imageID, layer, metadata, options) + if err != nil || container == nil { ++ rcstore.Delete(id) + rlstore.Delete(layer) ++ return nil, err + } + container.MountPoint = tmpLayer.MountPoint + if err = s.SaveContainerRunJson(container); err != nil { ++ rcstore.Delete(id) + rlstore.Delete(layer) + return nil, err + } +-- +2.25.2 + diff --git a/patch/series-patch.conf b/patch/series-patch.conf index 2dcc86e4473a57512b418eac30460b5d6de3c5a8..41e75ff7682a9c1136503e4f78596c02b41a7923 100644 --- a/patch/series-patch.conf +++ b/patch/series-patch.conf @@ -49,3 +49,4 @@ 0049-Delete-related-names-when-delete-layer.patch 0050-calculate-target-size-if-layer-blob-is-symlink.patch 0051-Get-system-s-real-page-size.patch +0052-clean-container-if-save-json-failed.patch