diff --git a/docs/source/markdown/podman-system-check.1.md b/docs/source/markdown/podman-system-check.1.md index 1abe83ce6c..e30a3be935 100644 --- a/docs/source/markdown/podman-system-check.1.md +++ b/docs/source/markdown/podman-system-check.1.md @@ -34,6 +34,8 @@ attempts to pull images, and should be treated as though they are damaged. Skip checks which are known to be time-consuming. This will prevent some types of errors from being detected. +The exact checks performed by this option are subject to change. + #### **--repair**, **-r** Remove any images which are determined to have been damaged in some way, unless diff --git a/libpod/runtime.go b/libpod/runtime.go index 73c607ad48..422f45b340 100644 --- a/libpod/runtime.go +++ b/libpod/runtime.go @@ -1274,7 +1274,18 @@ func (r *Runtime) LockConflicts() (map[uint32][]string, []uint32, error) { func (r *Runtime) SystemCheck(ctx context.Context, options entities.SystemCheckOptions) (entities.SystemCheckReport, error) { what := storage.CheckEverything() if options.Quick { - what = storage.CheckMost() + // Turn off checking layer digests and layer contents to do quick check. + // This is not a complete check like storage.CheckEverything(), and may fail detecting + // whether a file is missing from the image or its content has changed. + // In some cases it's desirable to trade check thoroughness for speed. + what = &storage.CheckOptions{ + LayerDigests: false, + LayerMountable: true, + LayerContents: false, + LayerData: true, + ImageData: true, + ContainerData: true, + } } if options.UnreferencedLayerMaximumAge != nil { tmp := *options.UnreferencedLayerMaximumAge