rclone/vfs
Nick Craig-Wood ddfde68140 vfs: fix directory locking caused by slow directory listings
Before this fix we took the directory lock to read the ModTime of the
directory. This was causing locking on directories which were being
re-read from the backend.

This commit gives the modtime its own lock so it can be read even when
the directory is being updated.

See: https://forum.rclone.org/t/high-cpu-load-with-rclone-mount/17604
2020-07-18 09:08:18 +01:00
..
test_vfs lib/random: unify random string generation into random.String 2019-08-06 12:44:08 +01:00
vfscache vfs cache: make logging consistent and remove some debug logging 2020-07-06 17:32:53 +01:00
vfscommon vfs: add --vfs-writeback option to delay writes back to cloud storage 2020-06-30 12:01:36 +01:00
vfsflags vfs: restart pending uploads on restart of the cache 2020-06-30 12:01:36 +01:00
vfstest vfs: remove workaround Sleep() calls from tests 2020-06-30 12:03:39 +01:00
dir_handle_test.go vfs: add --vfs-writeback option to delay writes back to cloud storage 2020-06-30 12:01:36 +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: make dir.ForgetAll and friends not forget virtual entries 2020-06-30 12:03:39 +01:00
dir.go vfs: fix directory locking caused by slow directory listings 2020-07-18 09:08:18 +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 vfs: fix renamed files not being uploaded with --vfs-cache-mode minimal 2020-07-15 16:22:12 +01:00
file.go vfs: fix renamed files not being uploaded with --vfs-cache-mode minimal 2020-07-15 16:22:12 +01:00
help.go vfs: update VFS help 2020-06-30 12:03:39 +01:00
make_open_tests.go vfs: bring DO NOT EDIT comments in line with "go help generate" 2020-04-30 12:24:44 +01: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 vfs: add an optional fs parameter to vfs rc methods 2020-06-30 12:01:36 +01:00
rc.go vfs: add an optional fs parameter to vfs rc methods 2020-06-30 12:01:36 +01:00
read_test.go vfs: add --vfs-writeback option to delay writes back to cloud storage 2020-06-30 12:01:36 +01:00
read_write_test.go vfs: Make tests run reliably 2020-06-30 12:01:36 +01:00
read_write.go vfs: allow ReadAt and WriteAt to run concurrently with themselves 2020-06-30 12:01:36 +01:00
read.go doc: fix typos throughout docs and code 2020-05-20 15:54:51 +01:00
vfs_case_test.go vfs: add --vfs-writeback option to delay writes back to cloud storage 2020-06-30 12:01:36 +01:00
vfs_test.go vfs: re-use existing VFS if possible 2020-06-30 12:01:36 +01:00
vfs.go vfs: Add recovered items on cache reload to directory listings 2020-06-30 12:03:39 +01:00
vfstest_test.go vfstests: move functional tests from mountlib and make them work with VFS 2020-04-20 10:42:33 +01:00
vstate_string.go vfs: stop virtual directory entries dropping out of the directory cache 2020-06-30 12:03:39 +01:00
write_test.go vfs: add --vfs-writeback option to delay writes back to cloud storage 2020-06-30 12:01:36 +01:00
write.go vfs: implement partial reads in --vfs-cache-mode full 2020-06-30 12:01:36 +01:00