diff options
author | Matthew Heon <mheon@redhat.com> | 2022-06-02 14:15:06 -0400 |
---|---|---|
committer | Matthew Heon <mheon@redhat.com> | 2022-06-03 12:54:08 -0400 |
commit | 259c79963f12d18b42d5455babf69b8ffdbb6b08 (patch) | |
tree | 48a52da8cfe34022b9284d3018916a14363b8405 /pkg/domain/infra/runtime_abi.go | |
parent | 2039445763f418720b08983b40949480e8754f9a (diff) | |
download | podman-259c79963f12d18b42d5455babf69b8ffdbb6b08.tar.gz podman-259c79963f12d18b42d5455babf69b8ffdbb6b08.tar.bz2 podman-259c79963f12d18b42d5455babf69b8ffdbb6b08.zip |
Improve robustness of `podman system reset`
Firstly, reset is now managed by the runtime itself as a part of
initialization. This ensures that it can be used even with
runtimes that would otherwise fail to be created - most notably,
when the user has changed a core path
(runroot/root/tmpdir/staticdir).
Secondly, we now attempt a best-effort removal even if the store
completely fails to be configured.
Third, we now hold the alive lock for the entire reset operation.
This ensures that no other Podman process can start while we are
running a system reset, and removes any possibility of a race
where a user tries to create containers or pull images while we
are trying to perform a reset.
[NO NEW TESTS NEEDED] we do not test reset last I checked.
Fixes #9075
Signed-off-by: Matthew Heon <mheon@redhat.com>
Diffstat (limited to 'pkg/domain/infra/runtime_abi.go')
-rw-r--r-- | pkg/domain/infra/runtime_abi.go | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/pkg/domain/infra/runtime_abi.go b/pkg/domain/infra/runtime_abi.go index 39989c96b..7b5198d2f 100644 --- a/pkg/domain/infra/runtime_abi.go +++ b/pkg/domain/infra/runtime_abi.go @@ -53,7 +53,7 @@ func NewSystemEngine(setup entities.EngineSetup, facts *entities.PodmanConfig) ( case entities.RenumberMode: r, err = GetRuntimeRenumber(context.Background(), facts.FlagSet, facts) case entities.ResetMode: - r, err = GetRuntimeRenumber(context.Background(), facts.FlagSet, facts) + r, err = GetRuntimeReset(context.Background(), facts.FlagSet, facts) case entities.MigrateMode: name, flagErr := facts.FlagSet.GetString("new-runtime") if flagErr != nil { |