Nick Craig-Wood
7713acf23d
mount: skip failing test TestFileModTimeWithOpenWriters on Windows
2018-03-09 23:15:38 +00:00
Nick Craig-Wood
473a388f6d
mount: disable failing test TestWriteFileDoubleClose on OSX
2018-03-09 23:15:37 +00:00
Nick Craig-Wood
09c14af6d1
cmd: Fix go routines at exit message to make it less confusing
2018-03-09 17:15:48 +00:00
Jakub Tasiemski
acae10cd6f
lsjson: add --encrypted to show encrypted name #1765
2018-03-09 08:44:02 +00:00
Remus Bunduc
70f07fd3ac
fs: add ChangeNotify and backend support for it ( #2094 )
...
* fs: rename DirChangeNotify to ChangeNotify
* cache: switch to ChangeNotify
* ChangeNotify: keep order of notifications
2018-03-08 22:03:34 +02:00
Nick Craig-Wood
fc32fee4ad
mount, cmount: add --attr-timeout to control attribute caching in kernel
...
This flag allows the attribute caching in the kernel to be controlled.
The default is 0s - no caching - which is recommended for filesystems
which can change outside the control of the kernel.
Previously this was at the default meaning it was 60s for mount and 1s
for cmount. This showed strange effects when files changed on the
remote not via the kernel. For instance Caddy would serve corrupted
files for a while when serving from an rclone mount when a file
changed on the remote.
2018-03-04 11:20:22 +00:00
ishuah
ebfeec9fb4
mount: run rclone mount in the background - fixes #723
2018-03-04 14:06:07 +03:00
Nick Craig-Wood
54deb01f00
vfs: Make OpenFile and friends return EINVAL if O_RDONLY and O_TRUNC
...
Before this change Open("name", os.O_RDONLY|os.O_TRUNC) would have
truncated the file. This is what Linux does, but is counterintuitive.
POSIX states this is undefined, so return an error in this case
instead. This preserves the invariant O_RDONLY => file is not
changed.
2018-02-26 17:04:27 +00:00
Fabian Möller
00adf40f9f
cryptdecode: use Cipher instead of NewFs ( #2087 )
...
* crypt: extract NewCipher out of NewFs
* cryptdecode: make use of crypt.NewCipher
Fixes #2075
2018-02-25 12:57:14 +01:00
Nick Craig-Wood
334bf49d30
httplib: add Close() method to shut the server down and use it in tests
2018-02-19 15:45:24 +00:00
Nick Craig-Wood
d8f78a7266
serve http/webdav: update docs on SSL
2018-02-19 14:08:17 +00:00
Nick Craig-Wood
358c1fbac9
serve http/webdav: support SSL/TLS
2018-02-16 18:28:10 +00:00
Nick Craig-Wood
cc9d7156e4
serve http/webdav: add --user --pass authentication #1802
2018-02-16 18:28:10 +00:00
Nick Craig-Wood
221a8a9c5d
serve http/webdav: add --htpasswd option for authentication #1802
2018-02-16 18:28:10 +00:00
Nick Craig-Wood
5530662ccc
serve http/webdav: factor common http server creation to httplib
2018-02-16 17:48:20 +00:00
Nick Craig-Wood
0f787e43b0
mount: link the nssm service manager for mount under Windows
2018-02-12 11:29:32 +00:00
Nick Craig-Wood
3a7bb7b2df
mount: update docs showing --vfs-cache-mode to work around limitations
2018-02-12 11:29:32 +00:00
Jakub Tasiemski
1018e9bb27
cmd: rewrite touch tests #1934
2018-02-02 13:46:56 +00:00
Fabian Möller
3c7a755631
lsjson: explain the Path value in the docs
2018-01-31 20:06:01 +00:00
Nick Craig-Wood
c277a4096c
mount: don't set modtime twice #2021
2018-01-29 20:49:13 +00:00
Fabian Möller
1f5e23aedb
scripts: make absolute paths consistent
...
Change absolute binary paths in scripts to /usr/bin/env or make them
relative.
This allows the scripts to be used on linux distributions
like NixOS, where binaries are not located in /usr/ or /bin/.
2018-01-26 09:39:05 +00:00
Nick Craig-Wood
fa500e6d21
lib/atexit: factor from cmd so it can be used by backend/cache #1946
2018-01-25 10:33:00 +00:00
Jody Frankowski
5e73acd40a
Clean up mount.go and vfs/help.go docs
...
* Title cleanups
* Typos
* `rclone mount vs rclone sync/copy` update with `File Caching`
2018-01-20 18:14:20 +00:00
Nick Craig-Wood
a80d8a21dc
vfs: add flags parameter to Dir.Create
2018-01-19 13:18:40 +00:00
Nick Craig-Wood
517bdc719b
vfs: make specialized file Open functions private
2018-01-19 11:46:01 +00:00
Nick Craig-Wood
5ad226ab54
fs: Add dir option to fs.Purge #1891
...
Purge optional interface needs fixing too.
2018-01-19 11:45:50 +00:00
Nick Craig-Wood
97c414f025
config/hash: rename more symbols after factoring into own package
2018-01-18 20:27:52 +00:00
Nick Craig-Wood
71722b5b95
config: factor Obscure and Reveal into its own package
2018-01-18 20:19:55 +00:00
Nick Craig-Wood
821be5ebed
ncdu: add link to asciinema demo of it in action
2018-01-18 14:22:43 +00:00
Ernest Borowski
5cce74d630
flags: remove --no-traverse flag because it is obsolete - fixes #1813
...
Signed-off-by: Ernest Borowski <er.borowski@gmail.com>
2018-01-18 11:00:25 +00:00
Nick Craig-Wood
11da2a6c9b
Break the fs package up into smaller parts.
...
The purpose of this is to make it easier to maintain and eventually to
allow the rclone backends to be re-used in other projects without
having to use the rclone configuration system.
The new code layout is documented in CONTRIBUTING.
2018-01-15 17:51:14 +00:00
Nick Craig-Wood
60afda007b
Move dircache, oauthutil, rest and pacer modules into lib
2018-01-12 17:07:38 +00:00
Nick Craig-Wood
b8b620f5c2
Move all backends into backend directory
2018-01-12 17:07:38 +00:00
ishuah
0a7731cf0d
cryptdecode: added option to return encrypted file names. Fixes #1923
2018-01-11 19:22:40 +03:00
Nick Craig-Wood
0eba37d8f3
lsf: add --files-only and --dirs-only flags
2018-01-06 18:04:24 +00:00
Nick Craig-Wood
c74c3b37da
lsf: add option to print hashes
2018-01-06 17:53:37 +00:00
Nick Craig-Wood
ed20fa5ee7
ls* commands: update docs and add defaults into options for lsf
2018-01-06 17:00:20 +00:00
Nick Craig-Wood
54a9fdf421
ls2: remove in favour of lsf
2018-01-06 14:41:36 +00:00
Jakub Tasiemski
0d041602cf
cmd: new command lsf
2018-01-06 14:39:31 +00:00
Nick Craig-Wood
65618afd8c
serve/http: fix serving files with : in - fixes #1939
2018-01-05 17:25:05 +00:00
Nick Craig-Wood
2a01fa9fa0
moveto,copyto: clarify error message if source doesn't exist - fixes #1022
2017-12-15 11:37:31 +00:00
lewapm
9c242edc10
rmdirs: add --leave-root flag - fixes #1874
2017-12-13 10:23:54 +00:00
Nick Craig-Wood
2cf808c825
ncdu: fix crashes on empty directories - fixes #1910
...
Up arrow or right arrow in an empty directory would crash ncdu
2017-12-12 13:54:15 +00:00
remusb
b48b537325
cache: plex integration, refactor chunk storage and worker retries ( #1899 )
2017-12-09 23:54:26 +02:00
Laurence
e767c9ac9f
Fix typo in dbhashsum description
2017-12-03 10:24:33 +00:00
Nick Craig-Wood
6d3df6f172
cmount: make tests more reliable on Windows
2017-11-28 20:39:24 +00:00
ishuah
aab8051f50
move: add --delete-empty-src-dirs flag - fixes #1854
2017-11-28 11:38:19 +03:00
Nick Craig-Wood
1248beb0b2
cachestats: Fix nil pointer if not a cache remote - fixes #1855
...
Also don't retry or show stats
2017-11-24 10:22:23 +00:00
Nick Craig-Wood
dc1c679c65
mount: support truncate properly
2017-11-20 19:42:35 +00:00
Nick Craig-Wood
af50f31f7d
mounttest: wait for Release after every Read to stop using in use files under Windows
2017-11-20 12:46:24 +00:00
Nick Craig-Wood
2b666187a6
cmount: disable tests on windows + race detector
...
These either hang or produce incorrect results for reasons I haven't
worked out yet.
2017-11-20 12:46:24 +00:00
Nick Craig-Wood
00b46a8b96
mounttest: wait for files to disappear from the directory listing
2017-11-20 12:46:24 +00:00
Nick Craig-Wood
b21f227bd3
mounttest: fix crash when FUSE not present
2017-11-20 12:46:24 +00:00
Nick Craig-Wood
e98e550021
mounttest: wait for all background Close/Release after writing a file
...
The filesystem does a certain amount of things asynchronously waiting
for the file to be released after writing it means everything should
be in a consistent state.
2017-11-20 12:46:23 +00:00
Nick Craig-Wood
b4083b4371
vfs: rename Fsync to Sync and implement Sync on Node and Handle
2017-11-20 12:46:23 +00:00
Nick Craig-Wood
eb3415db50
cmount: enable more tests for Windows
2017-11-20 12:46:23 +00:00
Nick Craig-Wood
9fbd8a6419
mounttest: fixes for running under Windows
...
* don't mount and unmount between cache runs - WinFSP doesn't suport it
* use OS paths for opening things
2017-11-20 12:46:23 +00:00
Nick Craig-Wood
61b6159a05
mount, cmount: add O_CREATE to Open calls since fuse doesn't seem to supply it
2017-11-20 12:46:22 +00:00
Nick Craig-Wood
c560017934
vfs: add Path method to Node and use it to stop reading nil DirEntry
...
All DirEntry calls now have been checked for nil or converted to use Path.
2017-11-20 12:46:22 +00:00
Nick Craig-Wood
7c3584f4e6
mountlib: wait for mountpoint to disappear under Windows
2017-11-20 12:46:22 +00:00
Nick Craig-Wood
981cfb1bec
mounttest: retry directory listings to account for slow updates on Windows
2017-11-20 12:46:22 +00:00
Nick Craig-Wood
dec21ccf63
vfs, cmount: make truncate work properly in the presence or otherwise of open files
2017-11-20 12:46:22 +00:00
Nick Craig-Wood
94adf4f43b
cmount: translate FUSE open flags into OS flags
...
On Windows the fuse.O_* flags do not have the same values as the
os.O_* flags so translate between the two representations. They are
mostly the same which is why this hasn't caused a problem before.
2017-11-20 12:46:22 +00:00
Nick Craig-Wood
f5f8c0c438
cmount: make Truncate call the correct Handle or Node method
2017-11-20 12:46:22 +00:00
Nick Craig-Wood
60cdcf784c
cmount: use -o atomic_o_trunc to make sure O_TRUNC is supplied to Open()
2017-11-20 12:46:22 +00:00
Nick Craig-Wood
57a5c67729
mounttest: run the tests for all 4 VFS cache modes
2017-11-20 12:46:21 +00:00
Nick Craig-Wood
d7908c06c9
mountlib: ensure we don't open files with read and write intent
2017-11-20 12:46:21 +00:00
Nick Craig-Wood
8951875c21
vfs,mount,cmount,mountlib: allow flags to be overriden by environment variables
2017-11-20 12:46:21 +00:00
Nick Craig-Wood
05a1e1532b
vfs,mount,cmount,serve: Add documentation for vfs caching modes
2017-11-20 12:46:21 +00:00
Nick Craig-Wood
3fb1e96988
vfs: factor Open logic from Dir.Create into vfs.OpenFile
2017-11-20 12:00:32 +00:00
Jakub Tasiemski
3cf7c61aa0
Add touch command - fixes #1594
2017-11-20 11:16:05 +00:00
Fabian Möller
d8b3bf014d
mount: use sdnotify to signal systemd the mount is ready
...
When the NOTIFY_SOCKET environment variable is set notify systemd after
the mount is ready.
2017-11-20 11:03:10 +00:00
ishuah
31d2fb4e11
mount: Fix mount breaking on Windows - fixes #1827
2017-11-16 15:20:53 +03:00
Remus Bunduc
016abf825e
cache: first version
2017-11-15 15:23:21 +00:00
ishuah
aec2265be0
rclone: implement exit codes - #1136
2017-11-15 17:48:37 +03:00
Substantiel
2423fa40e2
config: add password sub command for setting obscured passwords
2017-11-15 14:44:45 +00:00
Ernest Borowski
9fbff7bcab
mountlib: check if directory is not empty before mounting - fixes #1386
...
Signed-off-by: Ernest Borowski <er.borowski@gmail.com>
2017-11-14 21:24:31 +00:00
Nick Craig-Wood
68d0b5adbb
serve webdav: this implements a webdav server for any rclone remote.
2017-11-04 10:24:11 +00:00
Nick Craig-Wood
16e16bc220
serve http: use vfs to cache the directories and support Range header
2017-11-04 10:24:11 +00:00
Nick Craig-Wood
2083ac6e2a
vfs: add ECLOSED and tidy errors
2017-11-04 10:24:10 +00:00
Nick Craig-Wood
22ee839d05
cmount,vfs: unify Read and Write handles and File and Dir where possible
2017-11-04 10:24:10 +00:00
Nick Craig-Wood
5634659ea3
mount,vfs: unify Read and Write handles in preparation for ReadWrite handles
2017-11-04 10:24:10 +00:00
Nick Craig-Wood
e18122e88b
vfs: add tests and subsequent fixes
...
* Tests for VFS layer
* Small fixes found during testing
* Fix Close, Flush and Release behaviour for ReadFileHandle and WriteFileHandle
* Fix nil object bugs on File
2017-11-04 10:24:10 +00:00
Nick Craig-Wood
07ec8073fe
mount: remove unused DirEntry struct
2017-11-03 13:00:00 +00:00
Nick Craig-Wood
8184ec4b70
vfs: add EPERM to errors
2017-11-03 13:00:00 +00:00
Nick Craig-Wood
190367d917
vfs: factor duplicated Open code into vfs from mount/cmount
2017-11-03 13:00:00 +00:00
Nick Craig-Wood
7e065440fb
vfs: rename Lookup to Stat to be more in keeping with os
2017-11-03 12:59:59 +00:00
Nick Craig-Wood
e8883e9fdb
vfs: factor flags into vfsflags and remove global variables
2017-11-03 12:59:59 +00:00
Nick Craig-Wood
1a8f824bad
vfs: use os package errors where possible
2017-11-03 12:59:59 +00:00
Nick Craig-Wood
c1aaff220d
Factor new vfs module out of cmd/mountlib
...
This is an OS style file system abstraction with directory caching
used in mount, cmount, serve webdav and serve http.
2017-11-03 12:59:59 +00:00
Nick Craig-Wood
6da6b2556b
mountlib: make directory entries be returned in sorted order
2017-11-03 12:59:59 +00:00
Nick Craig-Wood
ca19fd2d7e
mountlib: Make read/write file handles support more standard interfaces
...
Including Read, ReadAt, Seek, Close for read handles and Write,
WriteAt, Close for read handles.
2017-11-03 12:59:59 +00:00
Nick Craig-Wood
2fac74b517
mountlib: store only Node in *Dir removing DirEntry struct
2017-11-03 12:59:59 +00:00
Nick Craig-Wood
8b6daaa877
mountlib: add DirEntry() to Node interface
2017-11-03 12:59:59 +00:00
Nick Craig-Wood
3af9d63261
mountlib: add Remove and RemoveAll methods to Node
2017-11-03 12:59:59 +00:00
Nick Craig-Wood
c6cd2a5280
mountlib: add parent and entry to Dir
2017-11-03 12:59:59 +00:00
Nick Craig-Wood
0bb84efe75
mountlib: Rename Remove to RemoveName
2017-11-03 12:59:59 +00:00
Nick Craig-Wood
3ec15ac2bd
mountlib: make sure Node is always set in DirEntry
...
This simplifies the code and makes using the DirEntry.Node usable when
using ReadDir.
2017-11-03 12:59:58 +00:00
Nick Craig-Wood
750690503e
mountlib: make Node satisfy os.FileInfo interface
2017-11-03 12:59:58 +00:00
Nick Craig-Wood
54950d3423
mountlib: make more useful as a general purpose file system adaptor
2017-11-03 12:59:58 +00:00