Nick Craig-Wood
70c8566cb8
fs: Pin created backends until parents are finalized
...
This attempts to solve the backend lifecycle problem by
- Pinning backends mentioned on the command line into the cache
indefinitely
- Unpinning backends when the containing structure (VFS, wrapping
backend) is destroyed
See: https://forum.rclone.org/t/rclone-rc-backend-command-not-working-as-expected/18834
2020-09-01 18:21:03 +01:00
Nick Craig-Wood
0d066bdf46
alias,cache,chunker,crypt: make any created backends be cached to fix rc problems
...
Before this change, when the above backends created a new backend they
didn't put it into the backend cache.
This meant that rc commands acting on those backends did not work.
This was fixed by making sure the backends use the backend cache.
See: https://forum.rclone.org/t/rclone-rc-backend-command-not-working-as-expected/18834
2020-09-01 18:21:03 +01:00
Nick Craig-Wood
3a14b1d5a9
build: make rclone build with wasm
...
Needed to drop
- azureblob backend
- cache backend
- qingstor backend
- cachestats command
- ncdu command
2020-08-10 17:32:21 +01:00
Nick Craig-Wood
a2afa9aadd
fs: Add directory to optional Purge interface - fixes #1891
...
- add a directory to the optional Purge interface
- fix up all the backends
- add an additional integration test to test for the feature
- use the new feature in operations.Purge
Many of the backends had been prepared in advance for this so the
change was trivial for them.
2020-07-31 17:43:17 +01:00
Nick Craig-Wood
8f9d5af26d
cache: remove mount tests as they aren't being run and cause maintenance issues
...
Before this change the cache backend contained its own routines for
mounting testing on that mount.
These tests are never run on the CI and cause a maintenance burden.
This commit removes the tests.
2020-07-24 11:57:49 +01:00
Nick Craig-Wood
0272a7f405
mount: change interface of mount commands to take mount options
...
This is in preparation of being able to pass mount options to the rc
command "mount/mount"
2020-07-24 10:48:51 +01:00
Nick Craig-Wood
2871268505
mount: change interface of mount commands to take VFS
...
This is in preparation of being able to pass options to the rc command
"mount/mount"
2020-07-23 12:30:41 +01:00
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