93955b755f
Before this fix if more than one retry happened on a file that rclone had opened for read with a backend that uses fs.FixRangeOption then rclone would read too much data and the transfer would fail. Backends affected: - azureblob, azurefiles, b2, box, dropbox, fichier, filefabric - googlecloudstorage, hidrive, imagekit, jottacloud, koofr, netstorage - onedrive, opendrive, oracleobjectstorage, pikpak, premiumizeme - protondrive, qingstor, quatrix, s3, sharefile, sugarsync, swift - uptobox, webdav, zoho This was because rclone was emitting Range requests for the wrong data range on the second and subsequent retries. This was caused by fs.FixRangeOption modifying the options and the reopen code relying on them not being modified. This fix makes a copy of the fs.FixRangeOption in the reopen code to fix the problem. In future it might be best to change fs.FixRangeOption so it returns a new options slice. Fixes #7759 |
||
---|---|---|
.. | ||
operationsflags | ||
check.go | ||
check_test.go | ||
copy.go | ||
copy_test.go | ||
dedupe.go | ||
dedupe_test.go | ||
listdirsorted_test.go | ||
logger.go | ||
lsjson.go | ||
lsjson_test.go | ||
multithread.go | ||
multithread_test.go | ||
operations.go | ||
operations_internal_test.go | ||
operations_test.go | ||
rc.go | ||
rc_test.go | ||
reopen.go | ||
reopen_test.go |