diff options
| author | Wladimir J. van der Laan <[email protected]> | 2018-04-23 14:29:15 +0200 |
|---|---|---|
| committer | Wladimir J. van der Laan <[email protected]> | 2018-04-23 14:30:26 +0200 |
| commit | 8b4081a889b35cac3ccafa4f7109c72ccb087518 (patch) | |
| tree | c23b86c73797cd0dbac4aa698d05957ced6c9395 /src/interfaces/node.cpp | |
| parent | Merge #13016: scripted-diff: Rename CChainState::g_failed_blocks to m_failed_... (diff) | |
| parent | Add logging and error handling for file syncing (diff) | |
| download | discoin-8b4081a889b35cac3ccafa4f7109c72ccb087518.tar.xz discoin-8b4081a889b35cac3ccafa4f7109c72ccb087518.zip | |
Merge #13039: Add logging and error handling for file syncing
cf02779 Add logging and error handling for file syncing (Wladimir J. van der Laan)
Pull request description:
Add logging and error handling inside, and outside of FileCommit.
Functions such as fsync, fdatasync will return error in case of hardware I/O errors, and ignoring this means it can silently continue through data corruption.
(c.f. https://lwn.net/SubscriberLink/752063/12b232ab5039efbe/)
EINVAL is handled specially to avoid crashing out on (network, fuse) filesystems that don't handle `f[data]sync`.
I checked that the syncing inside leveldb is already generating an I/O error as appropriate.
Tree-SHA512: 64cc9bbedca3ecc97ff4bac0a7b7ac6526a7ed763c66f6786d03ca4f2e9e366e42b152cb908299c060448d98ca39ff03395280bffaca51d592e728aa2516f5dd
Diffstat (limited to 'src/interfaces/node.cpp')
0 files changed, 0 insertions, 0 deletions