Go to file
Nick Craig-Wood 068cfdaa00 drive: fix "panic: send on closed channel" when recycling dir entries
In this commit:

cbf3d43561 drive: fix missing items when listing using --fast-list / ListR

We introduced a bug where under specific circumstances it could cause
a "panic: send on closed channel".

This was caused by:

- rclone engaging the workaround from the commit above
- one of the listing routines returning an error
- this caused the `in` channel to be closed to stop the readers
- however the workaround was recycling stuff into the `in` channel at the time
- hence the panic on closed channel

This fix factors out the sending to the `in` channel into `sendJob`
and calls this both from the master go routine and the list
runners. `sendJob` detects the `in` channel being closed properly and
also deals correctly with contention on the `in` channel.

Fixes #4511
2020-08-31 11:41:15 +01:00
.github build: build with go1.15.x by default now that it is released 2020-08-12 09:51:22 +01:00
backend drive: fix "panic: send on closed channel" when recycling dir entries 2020-08-31 11:41:15 +01:00
bin vfs: set the modtime of the cache file immediately 2020-08-20 16:24:04 +01:00
cmd build: make rclone build with wasm 2020-08-10 17:32:21 +01:00
contrib/docker Contrib: Add sample WebDAV server Docker Compose manifest. 2019-09-15 16:06:54 +01:00
docs Add aus to contributors 2020-08-31 11:41:15 +01:00
fs webgui: fixes previously unhandled error in JSON marshall in fs/rc/webgui/plugins.go:writeToFile 2020-08-30 17:15:03 +01:00
fstest test_all: disable chunker + mailru tests while mailru is broken #4376 2020-08-20 12:50:20 +01:00
graphics build: Add file properties and icon to Windows executable (fixes #4304) 2020-06-11 09:26:14 +01:00
lib lib: Add file name compression 2020-08-13 16:14:11 +01:00
vfs vfs: support synchronous cache space recovery upon ENOSPC 2020-08-25 21:12:06 +01:00
.gitattributes build: add azure pipelines build 2019-08-06 10:31:32 +01:00
.gitignore lib: Add file name compression 2020-08-13 16:14:11 +01:00
.golangci.yml build: move linter build tags into Makefile to fix golangci-lint 2019-04-12 15:48:36 +01:00
CONTRIBUTING.md Stop doing vendoring - fixes #4032 2020-07-21 16:09:53 +01:00
COPYING Initial commit - some small parts working 2012-11-18 17:32:31 +00:00
Dockerfile build: fix custom timezone in Docker image 2020-06-17 10:43:03 +01:00
MAINTAINERS.md doc: fix typos throughout docs and code 2020-05-25 11:23:58 +01:00
MANUAL.html Version v1.52.0 2020-05-27 17:31:10 +01:00
MANUAL.md Version v1.52.0 2020-05-27 17:31:10 +01:00
MANUAL.txt Version v1.52.0 2020-05-27 17:31:10 +01:00
Makefile build: actions update, cache, go1.15-rc1 build 2020-07-25 18:52:33 +01:00
README.md Tardigrade Backend 2020-05-12 15:56:50 +00:00
RELEASE.md Stop doing vendoring - fixes #4032 2020-07-21 16:09:53 +01:00
VERSION Start v1.52.3-DEV development 2020-08-08 10:35:06 +01:00
go.mod vfs: support synchronous cache space recovery upon ENOSPC 2020-08-25 21:12:06 +01:00
go.sum vfs: support synchronous cache space recovery upon ENOSPC 2020-08-25 21:12:06 +01:00
notes.txt Replace test_all.sh with test_all.go which is cross platform and parallel 2015-12-30 09:26:34 +00:00
rclone.1 Version v1.52.0 2020-05-27 17:31:10 +01:00
rclone.go lib: add plugin support 2019-09-29 11:05:10 +01:00

README.md

rclone logo

Website | Documentation | Download | Contributing | Changelog | Installation | Forum

Build Status Go Report Card GoDoc Docker Pulls

Rclone

Rclone ("rsync for cloud storage") is a command line program to sync files and directories to and from different cloud storage providers.

Storage providers

Please see the full list of all storage providers and their features

Features

  • MD5/SHA-1 hashes checked at all times for file integrity
  • Timestamps preserved on files
  • Partial syncs supported on a whole file basis
  • Copy mode to just copy new/changed files
  • Sync (one way) mode to make a directory identical
  • Check mode to check for file hash equality
  • Can sync to and from network, e.g. two different cloud accounts
  • Optional large file chunking (Chunker)
  • Optional encryption (Crypt)
  • Optional cache (Cache)
  • Optional FUSE mount (rclone mount)
  • Multi-threaded downloads to local disk
  • Can serve local or remote files over HTTP/WebDav/FTP/SFTP/dlna

Installation & documentation

Please see the rclone website for:

Downloads

License

This is free software under the terms of MIT the license (check the COPYING file included in this package).