diff options
author | Matthew Heon <matthew.heon@pm.me> | 2019-06-13 16:51:31 -0400 |
---|---|---|
committer | Matthew Heon <matthew.heon@pm.me> | 2019-06-13 17:02:20 -0400 |
commit | 49e696642d4d2d08bb89d6968f50ef9d6f17361a (patch) | |
tree | 6f90e20212f2cc9c5d3d31ea64c91702ba5c2144 /libpod/runtime_ctr.go | |
parent | 2784cf3ca3c635b1383823dd9bc47d26274e60e3 (diff) | |
download | podman-49e696642d4d2d08bb89d6968f50ef9d6f17361a.tar.gz podman-49e696642d4d2d08bb89d6968f50ef9d6f17361a.tar.bz2 podman-49e696642d4d2d08bb89d6968f50ef9d6f17361a.zip |
Add --storage flag to 'podman rm' (local only)
This flag switches to removing containers directly from c/storage
and is mostly used to remove orphan containers.
It's a superior solution to our former one, which attempted
removal from storage under certain circumstances and could, under
some conditions, not trigger.
Also contains the beginning of support for storage in `ps` but
wiring that in is going to be a much bigger pain.
Fixes #3329.
Signed-off-by: Matthew Heon <matthew.heon@pm.me>
Diffstat (limited to 'libpod/runtime_ctr.go')
-rw-r--r-- | libpod/runtime_ctr.go | 15 |
1 files changed, 0 insertions, 15 deletions
diff --git a/libpod/runtime_ctr.go b/libpod/runtime_ctr.go index cf1f5701d..0871b83a7 100644 --- a/libpod/runtime_ctr.go +++ b/libpod/runtime_ctr.go @@ -9,9 +9,7 @@ import ( "time" "github.com/containers/libpod/libpod/events" - "github.com/containers/libpod/libpod/image" "github.com/containers/libpod/pkg/rootless" - "github.com/containers/storage" "github.com/containers/storage/pkg/stringid" spec "github.com/opencontainers/runtime-spec/specs-go" "github.com/opencontainers/runtime-tools/generate" @@ -614,16 +612,3 @@ func (r *Runtime) GetLatestContainer() (*Container, error) { } return ctrs[lastCreatedIndex], nil } - -// RemoveContainersFromStorage attempt to remove containers from storage that do not exist in libpod database -func (r *Runtime) RemoveContainersFromStorage(ctrs []string) { - for _, i := range ctrs { - // if the container does not exist in database, attempt to remove it from storage - if _, err := r.LookupContainer(i); err != nil && errors.Cause(err) == image.ErrNoSuchCtr { - r.storageService.UnmountContainerImage(i, true) - if err := r.storageService.DeleteContainer(i); err != nil && errors.Cause(err) != storage.ErrContainerUnknown { - logrus.Errorf("Failed to remove container %q from storage: %s", i, err) - } - } - } -} |