rclone/vfs
Nick Craig-Wood 184459ba8f vfs: fix stale data when using --vfs-cache-mode full
Before this change the VFS cache could get into a state where when an
object was updated remotely, the fingerprint of the item was correct
for the new object but the data in the VFS cache was for the old
object.

This fixes the problem by updating the fingerprint of the item at the
point we remove the stale data. The empty cache item now represents
the new item even though it has no data in.

This stops the fallback code for an empty fingerprint running (used
when we are writing items to the cache instead of reading them) which
was causing the problem.

Fixes #6053
See: https://forum.rclone.org/t/cached-webdav-mount-fingerprints-get-nuked-on-ls/43974/
2024-01-15 11:12:59 +00:00
..
test_vfs fs: update use of math/rand to modern practice 2024-01-03 16:14:40 +00:00
vfscache vfs: fix stale data when using --vfs-cache-mode full 2024-01-15 11:12:59 +00:00
vfscommon vfs: add --vfs-refresh flag to read all the directories on start 2023-10-06 13:11:09 +01:00
vfsflags vfs: note that --vfs-refresh runs in the background #6830 2023-12-08 14:26:46 +00:00
vfstest nfsmount: New mount command to provide mount mechanism on macOS without FUSE 2023-10-06 14:08:20 +01:00
dir_handle_test.go test: replace defer cleanup with t.Cleanup 2022-12-09 14:38:05 +00:00
dir_handle.go Spelling fixes 2020-10-14 15:21:31 +01:00
dir_test.go vfs: Update parent directory modtimes on vfs actions 2023-09-08 17:19:52 +01:00
dir.go vfs: [bugfix] Update dir modification time 2023-10-06 14:08:20 +01: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 mockfs: make it so it can be registered as an Fs 2023-04-28 14:31:05 +01:00
file.go vfs: use atomic types 2023-08-22 12:52:13 +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_test.go test: replace defer cleanup with t.Cleanup 2022-12-09 14:38:05 +00:00
rc.go vfs: add vfs/stats remote control to show statistics - fixes #5816 2021-11-23 18:00:21 +00:00
read_test.go vfs: [bugfix] Implement Name() method in WriteFileHandle and ReadFileHandle 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
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.go vfs: [bugfix] Implement Name() method in WriteFileHandle and ReadFileHandle 2023-10-06 14:08:20 +01:00
vfs_case_test.go test: replace defer cleanup with t.Cleanup 2022-12-09 14:38:05 +00:00
vfs_test.go vfs: add MkdirAll function to make a directory and all beneath 2023-04-13 18:00:22 +01: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 docs: factor large docs into separate .md files to make them easier to maintain. 2023-11-13 16:27:09 +00: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_test.go vfs: [bugfix] Implement Name() method in WriteFileHandle and ReadFileHandle 2023-10-06 14:08:20 +01:00
write.go vfs: [bugfix] Implement Name() method in WriteFileHandle and ReadFileHandle 2023-10-06 14:08:20 +01:00