rclone/vfs
Nick Craig-Wood f3f743c3f9 vfs: fix download loop when file size shrunk
Before this change, if a file shrunk in size on the remote then rclone
could get into an loop trying to download the file forever.

The symptom was repeating errors like this:

    vfs cache: restart download failed: failed to start downloader: failed to open downloader: vfs reader: failed to open source file: invalid seek position

The fix was to check that file size in various places and makes sure
that we weren't trying to download too much data.

This was a problems with backends (like s3) which update the size of
the object on Open to the actual size of the object.
2024-03-26 17:32:10 +00:00
..
test_vfs build: remove random.Seed since random generator is seeded automatically in go1.20 2024-01-15 16:22:07 +00:00
vfscache vfs: fix download loop when file size shrunk 2024-03-26 17:32:10 +00:00
vfscommon vfs: fix unicode normalization on macOS - fixes #7072 2024-03-06 16:12:13 +00:00
vfsflags vfs: fix unicode normalization on macOS - fixes #7072 2024-03-06 16:12:13 +00:00
vfstest nfsmount: New mount command to provide mount mechanism on macOS without FUSE 2023-10-06 14:08:20 +01:00
dir.go vfs: fix unicode normalization on macOS - fixes #7072 2024-03-06 16:12:13 +00:00
dir_handle.go Spelling fixes 2020-10-14 15:21:31 +01:00
dir_handle_test.go test: replace defer cleanup with `t.Cleanup` 2022-12-09 14:38:05 +00:00
dir_test.go vfs: Update parent directory modtimes on vfs actions 2023-09-08 17:19:52 +01:00
errors.go build: drop support for go1.8 2019-04-15 21:49:58 +01:00
errors_test.go vfs: add tests and subsequent fixes 2017-11-04 10:24:10 +00:00
file.go vfs: use atomic types 2023-08-22 12:52:13 +01:00
file_test.go mockfs: make it so it can be registered as an Fs 2023-04-28 14:31:05 +01:00
make_open_tests.go Replace deprecated ioutil 2022-11-07 11:41:47 +00:00
open_test.go vfs: bring DO NOT EDIT comments in line with "go help generate" 2020-04-30 12:24:44 +01:00
rc.go vfs: add vfs/stats remote control to show statistics - fixes #5816 2021-11-23 18:00:21 +00:00
rc_test.go test: replace defer cleanup with `t.Cleanup` 2022-12-09 14:38:05 +00:00
read.go Improve error messages when objects have been corrupted on transfer - fixes #5268 2024-03-23 12:35:35 +00:00
read_test.go vfs: [bugfix] Implement Name() method in WriteFileHandle and ReadFileHandle 2023-10-06 14:08:20 +01:00
read_write.go vfs: Add go-billy dependency and make sure vfs.Handle implements billy.File 2023-10-06 14:08:20 +01:00
read_write_test.go vfs: fix stale data when using --vfs-cache-mode full 2024-01-15 11:12:59 +00:00
vfs.go docs: factor large docs into separate .md files to make them easier to maintain. 2023-11-13 16:27:09 +00:00
vfs.md vfs: fix unicode normalization on macOS - fixes #7072 2024-03-06 16:12:13 +00:00
vfs_case_test.go vfs: fix unicode normalization on macOS - fixes #7072 2024-03-06 16:12:13 +00:00
vfs_test.go vfs: add MkdirAll function to make a directory and all beneath 2023-04-13 18:00:22 +01:00
vfstest_test.go nfsmount: New mount command to provide mount mechanism on macOS without FUSE 2023-10-06 14:08:20 +01:00
vstate_string.go vfs: fix virtual entries causing deleted files to still appear 2020-11-10 16:47:25 +00:00
write.go vfs: [bugfix] Implement Name() method in WriteFileHandle and ReadFileHandle 2023-10-06 14:08:20 +01:00
write_test.go vfs: [bugfix] Implement Name() method in WriteFileHandle and ReadFileHandle 2023-10-06 14:08:20 +01:00