rclone/fs/operations
Nick Craig-Wood d5d28a7513 operations: fix overwrite of destination when multi-thread transfer fails
Before this change, if a multithread upload failed (let's say the
source became unavailable) rclone would finalise the file first before
aborting the transfer.

This caused the partial file to be written which would overwrite any
existing files.

This was fixed by making sure we Abort the transfer before Close-ing
it.

This updates the docs to encourage calling of Abort before Close and
updates writerAtChunkWriter to make sure that works properly.

This also reworks the tests to detect this and to make sure we upload
and download to each multi-thread capable backend (we were only
downloading before which isn't a full test).

Fixes #7071
2023-11-24 11:19:58 +00:00
..
check_test.go test: replace defer cleanup with t.Cleanup 2022-12-09 14:38:05 +00:00
check.go operations: make Open() return an io.ReadSeekCloser #7350 2023-11-20 18:07:05 +00:00
copy_test.go operations: fix invalid UTF-8 when truncating file names when not using --inplace 2023-10-29 14:04:37 +00:00
copy.go operations: fix server side copies on partial upload backends after refactor 2023-10-30 16:50:19 +00:00
dedupe_test.go test: replace defer cleanup with t.Cleanup 2022-12-09 14:38:05 +00:00
dedupe.go accounting: Make checkers show what they are doing 2023-03-01 11:10:38 +00:00
listdirsorted_test.go test: replace defer cleanup with t.Cleanup 2022-12-09 14:38:05 +00:00
lsjson_test.go rc: fix operations/stat with trailing / 2023-03-22 16:22:45 +00:00
lsjson.go lsjson: make --stat more efficient 2023-04-28 14:31:05 +01:00
multithread_test.go operations: fix overwrite of destination when multi-thread transfer fails 2023-11-24 11:19:58 +00:00
multithread.go operations: fix overwrite of destination when multi-thread transfer fails 2023-11-24 11:19:58 +00:00
operations_internal_test.go fs: deglobalise the config #4685 2020-11-26 16:40:12 +00:00
operations_test.go operations: factor Copy into its own file 2023-10-29 14:04:37 +00:00
operations.go operations: make Open() return an io.ReadSeekCloser #7350 2023-11-20 18:07:05 +00:00
rc_test.go operations: add operations/check to the rc API 2023-10-04 17:52:57 +01:00
rc.go operations: add operations/check to the rc API 2023-10-04 17:52:57 +01:00
reopen_test.go operations: make Open() return an io.ReadSeekCloser #7350 2023-11-20 18:07:05 +00:00
reopen.go operations: make Open() return an io.ReadSeekCloser #7350 2023-11-20 18:07:05 +00:00