rclone/vfs
Nick Craig-Wood 63128834da vfs: fix open file renaming on drive when using --vfs-cache-mode writes
Before this change, when uploading files from the VFS cache which were
pending a rename, rclone would use the new path of the object when
specifiying the destination remote.  This didn't cause a problem with
most backends as the subsequent rename did nothing, however with the
drive backend, since it updates objects, the incorrect Remote was
embedded in the object.  This caused the rename to apparently succeed
but the object be at the wrong location.

The fix for this was to make sure we upload to the path stored in the
object if available.

This problem was spotted by the new rename tests for the VFS layer.
2020-01-13 17:37:54 +00:00
..
test_vfs lib/random: unify random string generation into random.String 2019-08-06 12:44:08 +01:00
vfsflags vfs: add flag --vfs-case-insensitive for windows/macOS mounts 2019-09-04 21:30:48 +01:00
cache_test.go Add test for cache renaming functionality 2019-11-10 11:58:46 +00:00
cache.go vfs: when renaming files in the cache, rename the cache item in memory too 2019-12-12 13:31:10 +00:00
dir_handle_test.go build: fix up package paths after repo move 2019-07-28 18:47:38 +01:00
dir_handle.go vfs: factor duplicated Open code into vfs from mount/cmount 2017-11-03 13:00:00 +00:00
dir_test.go vfs: stop empty dirs disappearing when renamed on bucket based remotes 2019-10-14 14:38:30 +01:00
dir.go vfs: revise locking in file and dir to fix race conditions 2019-11-11 16:20:27 +00:00
errors_test.go vfs: add tests and subsequent fixes 2017-11-04 10:24:10 +00:00
errors.go build: drop support for go1.8 2019-04-15 21:49:58 +01:00
file_test.go vfs: skip rename tests on remotes which can't rename 2020-01-05 12:34:47 +00:00
file.go vfs: fix open file renaming on drive when using --vfs-cache-mode writes 2020-01-13 17:37:54 +00:00
help.go vfs: implement --vfs-cache-max-size to limit the total size of the cache 2019-02-02 12:30:10 +00:00
make_open_tests.go build: fix up package paths after repo move 2019-07-28 18:47:38 +01:00
open_test.go vfs: Make OpenFile and friends return EINVAL if O_RDONLY and O_TRUNC 2018-02-26 17:04:27 +00:00
rc.go build: fix up package paths after repo move 2019-07-28 18:47:38 +01:00
read_test.go build: fix up package paths after repo move 2019-07-28 18:47:38 +01:00
read_write_test.go vfs: fix rename of open files when using the VFS cache 2019-12-12 13:31:10 +00:00
read_write.go vfs: fix open file renaming on drive when using --vfs-cache-mode writes 2020-01-13 17:37:54 +00:00
read.go vfs: make ReadAt for non cached files work better with non-sequential reads 2019-11-11 16:20:27 +00:00
vfs_case_test.go vfs: skip TestCaseSensitivity on case insensitive backends 2019-09-06 10:44:59 +01:00
vfs_test.go build: fix up package paths after repo move 2019-07-28 18:47:38 +01:00
vfs.go vfs: stop change notify polling clearing so much of the directory cache 2019-10-21 20:51:11 +01:00
write_test.go azureblob/b2/dropbox/gcs/koofr/qingstor/s3: fix 0 length files 2019-08-06 15:18:08 +01:00
write.go vfs: make write without cache more efficient 2019-08-08 12:37:50 +01:00