From e9db60492261df38cbef04a03c2693547b7e107d Mon Sep 17 00:00:00 2001 From: Daniel J Walsh Date: Sun, 21 Feb 2021 05:25:40 -0500 Subject: allow the removal of storage images Sometimes if the system crashes while an image is being pulled containers/storage can get into a bad state. This PR allows the user to call into container storage to remove the image. Signed-off-by: Daniel J Walsh --- libpod/runtime_img.go | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'libpod') diff --git a/libpod/runtime_img.go b/libpod/runtime_img.go index 6e1105b9e..abefca788 100644 --- a/libpod/runtime_img.go +++ b/libpod/runtime_img.go @@ -325,6 +325,15 @@ func (r *Runtime) LoadImageFromSingleImageArchive(ctx context.Context, writer io return "", errors.Wrapf(saveErr, "error pulling image") } +// RemoveImageFromStorage goes directly to storage and attempts to remove +// the specified image. This is dangerous and should only be done if libpod +// reports that image is not known. This call is useful if you have a corrupted +// image that was never fully added to the libpod database. +func (r *Runtime) RemoveImageFromStorage(id string) error { + _, err := r.store.DeleteImage(id, true) + return err +} + func getImageNames(images []*image.Image) string { var names string for i := range images { -- cgit v1.2.3-54-g00ecf