Merge pull request #3752 from MichaelEischer/fix-dir-sync-errors

local: Ignore additional errors for directory syncing
This commit is contained in:
Alexander Neumann 2022-05-29 12:54:51 +02:00 committed by GitHub
commit 78a21bbccf
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 14 additions and 1 deletions

View file

@ -0,0 +1,13 @@
Bugfix: Fix directory sync errors related repositories accessed via SMB
On Linux and macOS accessing a repository via a SMB/CIFS mount resulted in
restic failing to save the lock file:
Save(<lock/071fe833f0>) returned error, retrying after 552.330144ms: sync /repo/locks: no such file or directory
Save(<lock/bf789d7343>) returned error, retrying after 552.330144ms: sync /repo/locks: invalid argument
This has been fixed by ignoring these error codes.
https://github.com/restic/restic/issues/3720
https://github.com/restic/restic/issues/3751
https://github.com/restic/restic/pull/3752

View file

@ -19,7 +19,7 @@ func fsyncDir(dir string) error {
}
err = d.Sync()
if errors.Is(err, syscall.ENOTSUP) {
if errors.Is(err, syscall.ENOTSUP) || errors.Is(err, syscall.ENOENT) || errors.Is(err, syscall.EINVAL) {
err = nil
}