spiegel_podman/pkg
Paul Holzinger b1442ba30c [v4.4.1-rhel] inspect: ignore ENOENT during device lookup
When we walk the /dev tree we need to lookup all device paths. Now in
order to get the major and minor version we have to actually stat each
device. This can again fail of course. There is at least a race between
the readdir at stat call so it must ignore ENOENT errors to avoid
the race condition as this is not a user problem. Second, we should
also not return other errors and just log them instead, returning an
error means stopping the walk and returning early which means inspect
fails with an error which would be bad.

Also there seems to be cases were ENOENT will be returned all the time,
e.g. when a device is forcefully removed. In the reported bug this is
triggered with iSCSI devices.

Because the caller does already lookup the device from the created map
it reports a warning there if the device is missing on the host so it
is not a problem to ignore a error during lookup here.

[NO NEW TESTS NEEDED] Requires special device setup to trigger
consistentlyand we cannot do that in CI.

Original Fixed https://issues.redhat.com/browse/RHEL-11158

This fixes: https://issues.redhat.com/browse/RHEL-20488

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
Signed-off-by: tomsweeneyredhat <tsweeney@redhat.com>
2024-04-05 16:18:05 -04:00
..
annotations Remove ReservedAnnotations from kube generate specification 2023-01-18 08:46:24 -05:00
api Support podman --remote when Containerfile is not in context directory 2023-08-15 09:46:28 -04:00
auth [CI:DOCS] Fix spelling and typos 2022-11-19 16:26:00 +01:00
autoupdate bump golangci-lint to v1.49.0 2022-10-17 09:19:41 +02:00
bindings (Temporary) Emergency CI fix: quay search is broken 2024-01-04 18:48:28 +05:30
channel bump golangci-lint to v1.50.1 2022-12-15 13:39:56 +01:00
checkpoint checkpoint restore: fix --ignore-static-ip/mac 2022-12-12 18:34:49 +01:00
copy pkg: switch to golang native error wrapping 2022-07-08 08:54:47 +02:00
criu deps: bump go-criu to v6 2022-11-01 13:57:24 +05:30
ctime Replace deprecated ioutil 2022-09-20 15:34:27 -04:00
domain [v4.4.1-rhel] Use append() to add elements to a slice (restore) 2023-03-14 19:52:14 -04:00
env [CI:DOCS] Fix spelling and typos 2022-11-19 16:26:00 +01:00
errorhandling libpod/runtime: switch to golang native error wrapping 2022-07-04 15:39:00 +02:00
inspect pkg/inspect: remove unused ImageResult type 2022-05-24 16:07:39 +02:00
k8s.io Merge pull request #16560 from eriksjolund/fix_typo_a_an 2022-11-20 17:04:36 -05:00
lookup bump golangci-lint to v1.50.1 2022-12-15 13:39:56 +01:00
machine Resolve symlink path for qemu directory if possible 2023-02-08 14:17:19 +00:00
namespaces libpod: Add pasta networking mode 2022-11-08 00:16:35 +01:00
parallel Fix stutters 2022-09-10 07:52:00 -04:00
ps DB: make loading container states optional 2023-01-27 09:14:12 +00:00
rctl pkg/rctl: Remove unused cgo dependency 2022-10-31 15:13:48 +00:00
rootless [v4.4.1-rhel] Add file switch for pre-exec hooks 2023-04-26 10:12:54 -04:00
rootlessport go fmt: use go 1.18 conditional-build syntax 2022-03-18 09:11:53 +01:00
seccomp pkg: switch to golang native error wrapping 2022-07-08 08:54:47 +02:00
selinux Fix SELinux functions names to not be repetitive 2020-04-23 15:57:34 -04:00
servicereaper go fmt: use go 1.18 conditional-build syntax 2022-03-18 09:11:53 +01:00
signal Run codespell on code 2022-11-04 10:57:41 -04:00
specgen oci: bind mount /sys with --userns=(auto|pod:) 2023-02-07 14:40:56 -05:00
specgenutil Remove ReservedAnnotations from kube generate specification 2023-01-18 08:46:24 -05:00
systemd kube play: only enforce passthrough in Quadlet 2023-02-20 07:53:56 +00:00
terminal podman ssh work, using new c/common interface 2022-08-09 14:00:58 -04:00
timetype bump golangci-lint to v1.49.0 2022-10-17 09:19:41 +02:00
trust pkg/trust: Take the default policy path from c/common/pkg/config 2022-11-25 10:14:15 +00:00
util [v4.4.1-rhel] inspect: ignore ENOENT during device lookup 2024-04-05 16:18:05 -04:00