spiegel_podman/libpod
Valentin Rothberg adfcb74602 make layer-tree lookup errors non-fatal
Internally, Podman constructs a tree of layers in containers/storage to
quickly compute relations among layers and hence images.  To compute the
tree, we intersect all local layers with all local images.  So far,
lookup errors have been fatal which has turned out to be a mistake since
it seems fairly easy to cause storage corruptions, for instance, when
killing builds.  In that case, a (partial) image may list a layer which
does not exist (anymore).  Since the errors were fatal, there was no
easy way to clean up and many commands were erroring out.

To improve usability, turn the fatal errors into warnings that guide the
user into resolving the issue.  In this case, a `podman system reset`
may be the approriate way for now.

[NO TESTS NEEDED] because I have no reliable way to force it.

[1] https://github.com/containers/podman/issues/8148#issuecomment-778253474

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2021-02-12 17:23:01 +01:00
..
common Set blob cache directory based on GraphDriver 2019-03-29 08:27:33 -04:00
define Display correct value for unlimited ulimit 2021-02-10 14:17:58 -06:00
driver Exorcise Driver code from libpod/define 2021-01-12 11:48:53 -05:00
events close journald when reading 2021-01-04 13:27:38 -06:00
image make layer-tree lookup errors non-fatal 2021-02-12 17:23:01 +01:00
layers Initial checkin from CRI-O repo 2017-11-01 11:24:59 -04:00
linkmode Add podman static build 2020-05-11 13:11:07 +02:00
lock Remove excessive error wrapping 2020-10-05 15:30:37 -07:00
logs re-open container log files 2020-12-23 14:04:32 -06:00
network add network prune 2021-02-06 07:37:29 -06:00
plugin Initial implementation of volume plugins 2021-01-14 15:35:33 -05:00
shutdown Ensure shutdown handler access is syncronized 2021-01-25 15:44:42 -05:00
boltdb_state.go Initial implementation of volume plugins 2021-01-14 15:35:33 -05:00
boltdb_state_internal.go Initial implementation of volume plugins 2021-01-14 15:35:33 -05:00
boltdb_state_linux.go Spelling 2020-12-22 13:34:31 -05:00
boltdb_state_unsupported.go podman-remote inspect 2019-01-18 15:43:11 -06:00
common_test.go Switch all references to github.com/containers/libpod -> podman 2020-07-28 08:23:45 -04:00
container.go Implement Secrets 2021-02-09 09:13:21 -05:00
container_api.go Fix per review request 2021-02-04 18:30:07 +01:00
container_commit.go Switch all references to github.com/containers/libpod -> podman 2020-07-28 08:23:45 -04:00
container_config.go Implement Secrets 2021-02-09 09:13:21 -05:00
container_exec.go Handle podman exec capabilities correctly 2021-01-07 05:53:50 -05:00
container_graph.go Switch all references to github.com/containers/libpod -> podman 2020-07-28 08:23:45 -04:00
container_graph_test.go Switch all references to github.com/containers/libpod -> podman 2020-07-28 08:23:45 -04:00
container_inspect.go Display correct value for unlimited ulimit 2021-02-10 14:17:58 -06:00
container_internal.go Rewrite copy-up to use buildah Copier 2021-02-10 14:21:37 -05:00
container_internal_linux.go Rewrite copy-up to use buildah Copier 2021-02-10 14:21:37 -05:00
container_internal_linux_test.go Make an entry in /etc/group when we modify /etc/passwd 2020-09-10 13:02:31 -04:00
container_internal_test.go Refactor container config 2020-07-23 10:18:14 -04:00
container_internal_unsupported.go Implement pod-network-reload 2020-12-07 19:26:23 +01:00
container_linux.go Do not fetch pod and ctr State on retrieval in Bolt 2018-07-31 14:19:50 +00:00
container_log.go Fix podman logs read partial log lines 2021-01-07 00:04:38 +01:00
container_log_linux.go Fix Podman logs reading journald 2020-10-02 10:05:19 -04:00
container_log_unsupported.go Switch all references to github.com/containers/libpod -> podman 2020-07-28 08:23:45 -04:00
container_path_resolution.go workdir presence checks 2021-01-26 09:02:21 +01:00
container_top_linux.go Remove varlink support from Podman 2020-11-26 16:50:42 -05:00
container_top_unsupported.go Spelling 2020-12-22 13:34:31 -05:00
container_unsupported.go Do not fetch pod and ctr State on retrieval in Bolt 2018-07-31 14:19:50 +00:00
container_validate.go Spelling 2020-12-22 13:34:31 -05:00
diff.go fix podman container exists and diff for storage containers 2020-10-15 09:51:15 -04:00
events.go add network connect|disconnect compat endpoints 2020-11-19 08:16:19 -06:00
healthcheck.go Stop excessive wrapping of errors 2020-10-30 05:34:04 -04:00
healthcheck_linux.go Set PATH env in systemd timer. 2020-11-23 10:26:02 -08:00
healthcheck_unsupported.go Switch all references to github.com/containers/libpod -> podman 2020-07-28 08:23:45 -04:00
in_memory_state.go Fix problems reported by staticcheck 2021-01-12 16:11:09 +01:00
info.go Add Security information to podman info 2020-12-22 08:13:14 -05:00
kube.go generate kube: support --privileged 2021-02-09 17:40:35 +01:00
mounts_linux.go set root propagation based on volume properties 2018-11-26 13:55:02 +01:00
networking_linux.go Fix podman network disconnect wrong NetworkStatus number 2021-02-04 19:41:30 +01:00
networking_unsupported.go Implement pod-network-reload 2020-12-07 19:26:23 +01:00
oci.go Handle podman exec capabilities correctly 2021-01-07 05:53:50 -05:00
oci_attach_linux.go oci: use /proc/self/fd/FD to open unix socket 2021-01-12 10:38:32 +01:00
oci_attach_unsupported.go Force Attach() to send a SIGWINCH and redraw 2020-09-10 17:54:47 -04:00
oci_conmon.go podman: add new cgroup mode split 2020-06-25 17:16:12 +02:00
oci_conmon_exec_linux.go remote exec: write conmon error on hijacked connection 2021-01-27 09:58:27 +01:00
oci_conmon_linux.go Merge pull request #8947 from Luap99/cleanup-code 2021-01-12 13:15:35 -05:00
oci_conmon_unsupported.go Add global options --runtime-flags 2020-09-04 15:04:36 -04:00
oci_missing.go Send HTTP Hijack headers after successful attach 2020-08-27 12:50:22 -04:00
oci_util.go Expose security attribute errors with their own messages 2021-01-12 16:10:17 +02:00
options.go Implement Secrets 2021-02-09 09:13:21 -05:00
pod.go Allow pods to use --net=none 2021-02-02 10:35:23 -05:00
pod_api.go Fix podman pod inspect show wrong MAC string 2020-11-18 18:06:06 +08:00
pod_internal.go Switch all references to github.com/containers/libpod -> podman 2020-07-28 08:23:45 -04:00
pod_status.go Add a Degraded state to pods 2020-10-21 13:31:40 -04:00
pod_top_linux.go Spelling 2020-12-22 13:34:31 -05:00
pod_top_unsupported.go Switch all references to github.com/containers/libpod -> podman 2020-07-28 08:23:45 -04:00
reset.go Don't accidently remove XDG_RUNTIME_DIR when reseting storage 2020-12-16 15:09:37 -05:00
rootless_cni_linux.go Add support for rootless network-aliases 2021-01-27 20:58:03 +01:00
runtime.go Implement Secrets 2021-02-09 09:13:21 -05:00
runtime_cstorage.go Drop default log-level from error to warn 2020-12-03 06:28:09 -05:00
runtime_ctr.go Implement Secrets 2021-02-09 09:13:21 -05:00
runtime_img.go Remove the ability to use [name:tag] in podman load command 2021-01-12 17:38:32 -05:00
runtime_img_test.go Switch all references to github.com/containers/libpod -> podman 2020-07-28 08:23:45 -04:00
runtime_migrate.go Use Libpod tmpdir for pause path 2020-12-02 14:18:37 -05:00
runtime_migrate_unsupported.go Use Libpod tmpdir for pause path 2020-12-02 14:18:37 -05:00
runtime_pod.go Switch all references to github.com/containers/libpod -> podman 2020-07-28 08:23:45 -04:00
runtime_pod_infra_linux.go Allow pods to use --net=none 2021-02-02 10:35:23 -05:00
runtime_pod_linux.go Drop default log-level from error to warn 2020-12-03 06:28:09 -05:00
runtime_pod_unsupported.go Switch all references to github.com/containers/libpod -> podman 2020-07-28 08:23:45 -04:00
runtime_renumber.go Switch all references to github.com/containers/libpod -> podman 2020-07-28 08:23:45 -04:00
runtime_volume.go Rework pruning to report reclaimed space 2020-12-30 19:57:35 -06:00
runtime_volume_linux.go Initial implementation of volume plugins 2021-01-14 15:35:33 -05:00
runtime_volume_unsupported.go Switch all references to github.com/containers/libpod -> podman 2020-07-28 08:23:45 -04:00
state.go Add support for network connect / disconnect to DB 2020-11-11 16:37:54 -05:00
state_test.go Spelling 2020-12-22 13:34:31 -05:00
stats.go container cgroup path 2020-12-07 15:16:20 +01:00
stats_unsupported.go Switch all references to github.com/containers/libpod -> podman 2020-07-28 08:23:45 -04:00
storage.go Switch all references to github.com/containers/libpod -> podman 2020-07-28 08:23:45 -04:00
util.go remote exec: write conmon error on hijacked connection 2021-01-27 09:58:27 +01:00
util_linux.go Fix mismatch between log messages and behavior of libpod.LabelVolumePath. 2020-09-13 23:24:15 -04:00
util_linux_test.go Fix mismatch between log messages and behavior of libpod.LabelVolumePath. 2020-09-13 23:24:15 -04:00
util_test.go Switch all references to github.com/containers/libpod -> podman 2020-07-28 08:23:45 -04:00
util_unsupported.go Switch all references to github.com/containers/libpod -> podman 2020-07-28 08:23:45 -04:00
volume.go Rewrite copy-up to use buildah Copier 2021-02-10 14:21:37 -05:00
volume_inspect.go Initial implementation of volume plugins 2021-01-14 15:35:33 -05:00
volume_internal.go Initial implementation of volume plugins 2021-01-14 15:35:33 -05:00
volume_internal_linux.go Initial implementation of volume plugins 2021-01-14 15:35:33 -05:00
volume_internal_unsupported.go Switch all references to github.com/containers/libpod -> podman 2020-07-28 08:23:45 -04:00