doc: Warn about compatibility issues with CIFS and restic #2669
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What is the purpose of this change? What does it change?
Document an incompatibility between CIFS (SMB) on Linux and Go 1.14.
On Linux CIFS (SMB) seems to be incompatible with the async preemption
implementation of Go 1.14. CIFS seems not to restart syscalls (open,
read, chmod, readdir, ...) as expected by Go, which sets SA_RESTART for
its signal handler to have syscalls restarted automatically. This leads
to Go passing up lots of EINTR return codes to restic.
See #2659 for a detailed explanation.
The proper solution would be to additionally report a bug to the Linux kernel.
Was the change discussed in an issue or in the forum before?
See #2659 for a summary of the debugging session in the forum.
Checklist
[ ] I have added tests for all changes in this PR[ ] There's a new file inchangelog/unreleased/
that describes the changes for our users (template here)[ ] I have rungofmt
on the code in all commits