Nick Craig-Wood
b58bb03e95
test: Don't run unreliable tests on CI #4171
2020-06-15 21:34:37 +01:00
Nick Craig-Wood
7e48ee8758
cache: fix dedupe on caches wrapping drives - fixes #4320
...
This implements the MergeDirs optional method.
2020-06-10 21:52:52 +01:00
Martin Michlmayr
041b201abd
doc: fix typos throughout docs and code
2020-05-25 11:23:58 +01:00
Nick Craig-Wood
bdafbad61e
cache: fix tests writing to empty path
...
This meant the tests were writing to the current directory instead of
a temporary directory.
2020-05-19 16:01:35 +01:00
Brandon McNama
19ff7c9302
cache: Fix Server Side Copy with Temp Upload
...
When wrapping a backend that supports Server Side Copy (e.g. `b2`, `s3`)
and configuring the `tmp_upload_path` option, the `cache` backend would
erroneously report that Server Side Copy/Move was not supported, causing
operations such as file moves to fail. This change fixes this issue
under these circumstances such that Server Side Copy will now be used
when the wrapped backend supports it.
Fixes #3206
2020-05-19 12:17:40 +01:00
Nick Craig-Wood
90d738b561
cache: implement rclone backend stats command
2020-04-29 10:10:57 +01:00
greatroar
0f20f23651
cache: move methods used for testing into test file
2020-03-16 18:41:32 +00:00
Robert-André Mauchin
e2e400e63c
Use proper import path go.etcd.io/bbolt
...
Signed-off-by: Robert-André Mauchin <zebob.m@gmail.com>
2020-03-03 12:40:52 +00:00
Nick Craig-Wood
87d856d71b
cache: disable race tests until bbolt is fixed
...
bbolt fails with "unsafe pointer conversion" under the go1.14 race
detector.
Disable race tests until https://github.com/etcd-io/bbolt/issues/187
is fixed.
2020-02-27 08:05:28 +00:00
Nick Craig-Wood
17b4058ee9
mount: constrain to go1.13 or above otherwise bazil.org/fuse fails to compile
2020-02-26 21:26:46 +00:00
Lars Lehtonen
3dbcf0af2d
backend/cache: Remove Unused Functions
...
This removes the unused functions run.writeRemoteRandomBytes() run.writeObjectRandomBytes() run.listPath() Directory.parentRemote() and Persistent.dumpRoot().
2020-02-12 11:23:57 +00:00
Nick Craig-Wood
08a3957880
cache: fix fatal error: concurrent map writes
- fixes #2378
2020-01-18 11:27:00 +00:00
Nick Craig-Wood
706da80d88
mount: don't build on go1.10 as bazil/fuse no longer supports it
2020-01-08 08:44:02 +00:00
Nick Craig-Wood
3dcf1e61cf
cache: follow move of upstream library github.com/coreos/bbolt github.com/etcd-io/bbolt
2019-11-14 21:51:34 +00:00
Nick Craig-Wood
6abaa9e22c
fstests: allow skipping of the broken UTF-8 test for the cache backend
2019-10-10 10:36:18 +01:00
Nick Craig-Wood
3ebcb555f4
fs: add optional features UserInfo and Disconnect
2019-08-12 13:49:23 +01:00
Nick Craig-Wood
5065c422b4
lib/random: unify random string generation into random.String
...
This was factored from fstest as we were including the testing
enviroment into the main binary because of it.
This was causing opening the browser to fail because of 8243ff8bc8
.
2019-08-06 12:44:08 +01:00
Nick Craig-Wood
57d5de6fba
build: fix up package paths after repo move
...
git grep -l github.com/ncw/rclone | xargs -d'\n' perl -i~ -lpe 's|github.com/ncw/rclone|github.com/rclone/rclone|g'
goimports -w `find . -name \*.go`
2019-07-28 18:47:38 +01:00
Aleksandar Jankovic
f78cd1e043
Add context propagation to rclone
...
- Change rclone/fs interfaces to accept context.Context
- Update interface implementations to use context.Context
- Change top level usage to propagate context to lover level functions
Context propagation is needed for stopping transfers and passing other
request-scoped values.
2019-06-19 11:59:46 +01:00
Nick Craig-Wood
8ee6034b23
Look for Fs in the cache rather than calling NewFs directly
...
This will save operations when rclone is used in remote control mode
or with the same remote multiple times in the command line.
2019-05-27 16:14:55 +01:00
Nick Craig-Wood
7c4fe3eb75
local: define OpenWriterAt interface and test and implement it #2252
...
This will enable multipart downloads in future commits
2019-05-11 23:35:19 +01:00
Nick Craig-Wood
aba15f11d8
cache: note unsupported optional methods
2019-04-16 13:34:06 +01:00
Nick Craig-Wood
47099466c0
cache: Use walk.ListR for listing the temporary Fs.
2019-03-16 17:41:12 +00:00
Fabian Möller
a0d4c04687
backend: fix misspellings
2019-02-07 19:51:03 +01:00
Nick Craig-Wood
d966cef14c
build: fix problems found with unconvert
2019-02-02 11:45:07 +00:00
Nick Craig-Wood
97752ca8fb
build: fix problems found with ineffasign linter
2019-02-02 11:45:07 +00:00
Nick Craig-Wood
8d5d332daf
build: fix problems found with golint
2019-02-02 11:45:07 +00:00
Nick Craig-Wood
26b5f55cba
Update after goimports change
2018-12-04 10:11:57 +00:00
Nick Craig-Wood
0b80d1481a
cache: make tests not start an rc but use the internal framework
2018-11-04 15:11:51 +00:00
Nick Craig-Wood
0bfa9811f7
rc: factor server code into rcserver and implement serving objects
...
If a GET or HEAD request is receivied with a URL parameter of fs then
it will be served from that remote.
2018-11-03 11:32:00 +00:00
Florian Gamboeck
696e7b2833
backend/cache: Print correct info about Cache Writes
2018-10-27 00:27:47 +01:00
Nick Craig-Wood
ade252f13b
build: fixup code formatting after goimports change
2018-10-13 22:47:12 +01:00
Fabian Möller
1a40bceb1d
backend: unify NewFs path handling for wrapping remotes
...
Use the same function to join the root paths for the wrapping remotes
alias, cache and crypt.
The new function fspath.JoinRootPath is equivalent to path.Join, but if
the first non empty element starts with "//", this is preserved to allow
Windows network path to be used in these remotes.
2018-10-10 17:50:27 +01:00
Nick Craig-Wood
a9273c5da5
docs: move documentation for options from docs/content into backends
...
In the following commit, the documentation will be autogenerated.
2018-10-06 11:47:46 +01:00
dcpu
c0084f43dd
cache: Remove entries that no longer exist in the source
...
list directory with 25k files
before(1.43.1)
5m24s
after
3m21s
2018-10-06 11:23:33 +01:00
Fabian Möller
1eec59e091
fs: update ChangeNotifier interface
...
This introduces a channel to the ChangeNotify function, which can be
used to update the poll-interval and cleanly exit the polling function.
2018-09-25 14:01:13 +02:00
Fabian Möller
3c44ef788a
cache: add plex_insecure option to skip certificate validation
...
Fixes #2215
2018-09-10 21:19:25 +01:00
Fabian Möller
f6ee0795ac
cache: preserve leading / in wrapped remote path
...
When combining the remote value and the root path, preserve the absence
or presence of the / at the beginning of the wrapped remote path.
e.g. a remote "cloud:" and root path "dir" becomes "cloud:dir" instead
of "cloud:/dir".
Fixes #2553
2018-09-10 20:35:50 +01:00
Anagh Kumar Baranwal
5a6750e1cd
cache: documentation fix for cache-chunk-total-size - Fixes #2519
...
Signed-off-by: Anagh Kumar Baranwal <anaghk.dos@gmail.com>
2018-09-04 16:16:35 +01:00
Fabian Möller
deda093637
cache: fix error return value of cache/fetch rc method
2018-09-03 17:32:11 +02:00
dcpu
a4c4019032
cache: improve performance by not sending info requests for cached chunks
2018-09-03 15:41:06 +01:00
Fabian Möller
a0b3fd3a33
cache: fix worker scale down
...
Ensure that calling scaleWorkers will create/destroy the right amount of
workers.
2018-09-03 12:29:35 +02:00
Fabian Möller
cdbe3691b7
cache: add cache/fetch rc function
2018-09-03 12:29:35 +02:00
Dr. Tobias Quathamer
76450c01f3
cache: remove accidentally committed files
...
* Delete cache_upload_test.go.orig
* Delete cache_upload_test.go.rej
2018-09-02 15:51:22 +01:00
Nick Craig-Wood
6156bc5806
cache: fix nil pointer deref - fixes #2448
2018-08-07 21:33:13 +01:00
Fabian Möller
eb6aafbd14
cache: implement fs.ObjectUnWrapper
2018-08-07 09:28:55 +01:00
Nick Craig-Wood
ffd11662ba
cache: fix nil pointer deref when using lsjson on cached directory
...
This stops embedding the fs.Directory into the cache.Directory because
it can be nil and implements an ID method which checks the nil status.
See: https://forum.rclone.org/t/runtime-error-with-cache-remote-and-lsjson/6305
2018-08-05 09:42:31 +01:00
Nick Craig-Wood
f3f48d7d49
Implement new backend config system
...
This unifies the 3 methods of reading config
* command line
* environment variable
* config file
And allows them all to be configured in all places. This is done by
making the []fs.Option in the backend registration be the master
source of what the backend options are.
The backend changes are:
* Use the new configmap.Mapper parameter
* Use configstruct to parse it into an Options struct
* Add all config to []fs.Option including defaults and help
* Remove all uses of pflag
* Remove all uses of config.FileGet
2018-07-16 21:20:47 +01:00
remusb
aaa8591661
cache: add non cached dirs on notifications - #2155
2018-06-13 23:57:26 +03:00
remusb
4df1794932
cache: fix panic when running without plex configs
2018-06-13 15:06:14 +03:00