Merge pull request #3249 from MichaelEischer/fix-dropped-gs-error

gs: Don't drop error when finishing upload
This commit is contained in:
Alexander Neumann 2021-01-30 16:24:57 +01:00 committed by GitHub
commit dd94efb307
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 11 additions and 1 deletions

View file

@ -0,0 +1,7 @@
Bugfix: Better error handling for gs backend
The gs backend did not notice when the last steep of completing a file upload
failed. Under rare circumstance, this might be able to cause missing files in
the backup repository. This has been fixed.
https://github.com/restic/restic/pull/3249

View file

@ -235,7 +235,10 @@ func (be *Backend) Save(ctx context.Context, h restic.Handle, rd restic.RewindRe
w := be.bucket.Object(objName).NewWriter(ctx)
w.ChunkSize = 0
wbytes, err := io.Copy(w, rd)
w.Close()
cerr := w.Close()
if err == nil {
err = cerr
}
be.sem.ReleaseToken()