Skip to content

Conversation

@cyphar
Copy link
Owner

@cyphar cyphar commented Oct 31, 2025

Backport of #73 and #76.

Our ErrPossible* errors are conceptually equivalent to EXDEV so we
should support checking against them the same way (this also lets users
check this way too).

Signed-off-by: Aleksa Sarai <[email protected]>
(cherry picked from commit 5dae0ae)
Signed-off-by: Aleksa Sarai <[email protected]>
This is to match the new behavour from libpathrs, as it provides more
reasonable information to downstream users (they can check for
unix.EAGAIN and have their own custom retry logic).

Ref: cyphar/libpathrs#265
Signed-off-by: Aleksa Sarai <[email protected]>
(cherry picked from commit 02d2e4b)
Signed-off-by: Aleksa Sarai <[email protected]>
We have seen reports of users hitting the 32 retry limit, hopefully a 4x
increase is enough to ease the pain. Ultimately, as a result of commit
02d2e4b ("gopathrs: return raw errors from openat2 retry loop") it
is practical for callers to do their own top-level infinite retry loop
if intermittent failures are unacceptable for their use-case.

Signed-off-by: Aleksa Sarai <[email protected]>
(cherry picked from commit 28c6340)
Signed-off-by: Aleksa Sarai <[email protected]>
@cyphar cyphar added this to the 0.5.1 milestone Oct 31, 2025
@codecov
Copy link

codecov bot commented Oct 31, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@cyphar cyphar merged commit d524820 into release-0.5 Oct 31, 2025
86 of 88 checks passed
@cyphar cyphar deleted the 0.5-openat2-retry branch October 31, 2025 08:41
cyphar added a commit that referenced this pull request Oct 31, 2025
Aleksa Sarai (3):
  openat2: increase retry count to 128
  gopathrs: return raw errors from openat2 retry loop
  pathrs: support errors.Is(unix.EXDEV) checks for ErrPossible*

LGTMs: cyphar
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants