archive: preserve pre-open original atime, fixes #6194
When creating an archive with --atime on platforms without O_NOATIME, opening a file for reading could update atime before we recorded it (thus we archived the updated atime, not the original one).
Capture pre-open path-based-stat atime and use it if it pre-dates the atime we got from the fd AND if it refers to same fs object (avoid race condition).
Codecov Report
:white_check_mark: All modified and coverable lines are covered by tests.
:white_check_mark: Project coverage is 80.62%. Comparing base (a25856a) to head (f7dc254).
:warning: Report is 1 commits behind head on 1.4-maint.
Additional details and impacted files
@@ Coverage Diff @@
## 1.4-maint #9181 +/- ##
=============================================
+ Coverage 80.59% 80.62% +0.02%
=============================================
Files 38 38
Lines 11251 11255 +4
Branches 1769 1770 +1
=============================================
+ Hits 9068 9074 +6
+ Misses 1614 1613 -1
+ Partials 569 568 -1
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
Strange: test_atime still fails on cygwin.