Commit 5287c28
George O. Lorch III
TDB-184 : Broken fsync error handling
- Factored out i/o error reporting to be common and try to obtain actual
filename from descriptor.
- Factored out write, close and fsync error handling into a common function that
handles special cases sch as ENOLCK, EINTR, ENOSPC, and EIO. See upstream
MySQL issues 34823 and 90296 for details on ENOLCK and EIO.
- Fixed write, close, and fsync retry logic to use new common handler.
- Touched up 'slow fsync' tracking and reporting to use new i/o error reporting.
- Converted metric trackers to std::atomic where appropriate.
- Various bits of code reformatting and conversions to std::atomic and
constexpr, #include style fixes.1 parent f02e0f4 commit 5287c28
1 file changed
+193
-132
lines changed
0 commit comments