rclone/vfs
Nick Craig-Wood 1692c6bd0a vfs: shorten the locking window for vfs/refresh
Before this change we locked the root directory, recursively fetched
the listing, applied it then unlocked the root directory.

After this change we recursively fetch the listing then apply it with
the root directory locked which shortens the time that the root
directory is locked greatly.

With the original method and the new method the subdirectories are
left unlocked and so potentially could be changed leading to
inconsistencies.  This change makes the potential for inconsistencies
slightly worse by leaving the root directory unlocked at a gain of a
much more responsive system while runing vfs/refresh.

See: https://forum.rclone.org/t/rclone-rc-vfs-refresh-locking-directory-being-refreshed/9004
2019-03-05 14:17:42 +00:00
..
test_vfs vfs: fix renaming/deleting open files with cache mode "writes" under Windows 2019-01-11 10:26:34 +00:00
vfsflags Make flags show up with their proper names, eg SizeSuffix rather than int 2019-02-07 11:57:26 +00:00
cache.go Make flags show up with their proper names, eg SizeSuffix rather than int 2019-02-07 11:57:26 +00:00
cache_test.go Fix broken flag type tests 2019-02-07 16:42:26 +00:00
dir.go vfs: shorten the locking window for vfs/refresh 2019-03-05 14:17:42 +00:00
dir_handle.go vfs: factor duplicated Open code into vfs from mount/cmount 2017-11-03 13:00:00 +00:00
dir_handle_test.go vfs: add tests and subsequent fixes 2017-11-04 10:24:10 +00:00
dir_test.go vfs: read directory and check for a file before mkdir 2019-02-28 14:05:17 +00:00
errors.go vfs: Make OpenFile and friends return EINVAL if O_RDONLY and O_TRUNC 2018-02-26 17:04:27 +00:00
errors_new.go vfs: add ECLOSED and tidy errors 2017-11-04 10:24:10 +00:00
errors_old.go vfs: add ECLOSED and tidy errors 2017-11-04 10:24:10 +00:00
errors_test.go vfs: add tests and subsequent fixes 2017-11-04 10:24:10 +00:00
file.go vfs: Ignore Truncate if called with no readers and already the correct size 2019-02-12 17:27:04 +00:00
file_test.go vfs: make specialized file Open functions private 2018-01-19 11:46:01 +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 vfs: fix renaming/deleting open files with cache mode "writes" under Windows 2019-01-11 10:26:34 +00: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 vfs: add vfs/poll-interval rc command 2018-09-25 14:01:13 +02:00
read.go vfs: try to seek buffer on read only files 2018-08-17 18:10:28 +01:00
read_test.go build: fix errors spotted by ineffassign linter 2018-05-05 17:32:41 +01:00
read_write.go vfs: fix renaming/deleting open files with cache mode "writes" under Windows 2019-01-11 10:26:34 +00:00
read_write_test.go all: fix go-critic linter suggestions 2018-08-06 21:14:03 +01:00
vfs.go vfs: implement --vfs-cache-max-size to limit the total size of the cache 2019-02-02 12:30:10 +00:00
vfs_test.go vfs: make tests work on remotes which don't support About 2019-02-28 14:05:21 +00:00
write.go vfs: fix applying modtime for an open Write Handle 2018-03-06 21:58:11 +00:00
write_test.go all: fix go-critic linter suggestions 2018-08-06 21:14:03 +01:00