1
mirror of https://github.com/rclone/rclone synced 2024-12-27 19:43:48 +01:00
rclone/backend/local
Ivan Andreev 4680c0776d
backend/local: skip entries removed concurrently with List() (#5297)
This change fixes the bug described below:
if a file is removed while the local backend List() runs,
the call will flag an accounting error.
The bug manifests itself if local backend is the Sync target
due to intrinsic concurrency.
The odds to hit this bug depend on --checkers and --transfers.
Chunker over local backend is affected even more because
updating a composite object with a smaller size content
translates into removing chunks on the underlying file system
and involves a number of List() calls.
2021-07-07 16:50:19 +03:00
..
about_unix.go local: return fs.ErrorDirNot found from About and Purge 2020-08-19 18:02:21 +01:00
about_windows.go build: fix up package paths after repo move 2019-07-28 18:47:38 +01:00
encode_darwin.go backends: move encoding definitions from fs/encodings 2020-01-16 14:40:36 +00:00
encode_other.go backends: move encoding definitions from fs/encodings 2020-01-16 14:40:36 +00:00
encode_windows.go backends: move encoding definitions from fs/encodings 2020-01-16 14:40:36 +00:00
fadvise_other.go backend/local: Avoid polluting page cache when uploading local files to remote backends 2019-08-08 23:41:52 +01:00
fadvise_unix.go backend/local: fadvise run syscall on a dedicated go routine 2019-08-14 21:01:39 +01:00
lchtimes_unix.go build: make rclone build with wasm 2020-08-10 17:32:21 +01:00
lchtimes.go build: make rclone build with wasm 2020-08-10 17:32:21 +01:00
local_internal_test.go fs: Add context to NewFs #3257 #4685 2020-11-09 18:05:54 +00:00
local_test.go build: fix up package paths after repo move 2019-07-28 18:47:38 +01:00
local.go backend/local: skip entries removed concurrently with List() (#5297) 2021-07-07 16:50:19 +03:00
read_device_other.go Implement new backend config system 2018-07-16 21:20:47 +01:00
read_device_unix.go build: fix up package paths after repo move 2019-07-28 18:47:38 +01:00
remove_other.go local: retry remove on Windows sharing violation error #2202 2018-04-07 17:36:26 +01:00
remove_test.go local: retry remove on Windows sharing violation error #2202 2018-04-07 17:36:26 +01:00
remove_windows.go build: fix up package paths after repo move 2019-07-28 18:47:38 +01:00
symlink_other.go local: continue listing files/folders when a circular symlink is detected 2020-11-12 11:32:55 +00:00
symlink.go local: continue listing files/folders when a circular symlink is detected 2020-11-12 11:32:55 +00:00
tests_test.go local: factor UNCPath into lib/file 2020-06-30 12:01:36 +01:00