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
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
0bb84efe75
mountlib: Rename Remove to RemoveName
2017-11-03 12:59:59 +00:00
Nick Craig-Wood
750690503e
mountlib: make Node satisfy os.FileInfo interface
2017-11-03 12:59:58 +00:00
Nick Craig-Wood
e7d04fc103
Create fs.Directory interface and use it everywhere
2017-06-30 14:26:59 +01:00
Nick Craig-Wood
e2d7d413ef
fs: rename BasicInfo to DirEntry
2017-06-30 14:26:58 +01:00
Nick Craig-Wood
dcce65b2b3
mount/cmount: factor duplicated code into mountlib
2017-06-19 14:36:51 +01:00
Stefan Breunig
9782c264e9
hand dirCacheTime through again
2017-06-01 09:02:22 +01:00
Stefan Breunig
a2e3af0523
poll for Google Drive changes when mounted
2017-05-28 17:54:52 +01:00
Nick Craig-Wood
3dff91d691
mount: add missing build constraint to fix Windows build
2017-05-15 17:40:15 +01:00
Nick Craig-Wood
b259f8b752
cmount, mount, mountlib: make --read-only reject modify operations
...
Normally mount/cmount use `-o ro` to get the kernel to mark the fs as
read only. However this is ignored by WinFsp, so in addition if
`--read-only` is in effect then return EROFS ("Read only File System")
from all methods which attempt to modify something.
2017-05-15 16:56:47 +01:00
Nick Craig-Wood
115ac00222
mount, mountlib: move function tracing into mount
2017-05-15 16:56:45 +01:00
Nick Craig-Wood
bc9856b570
Forward port 930ff266f2
to cmount branch
...
compare checksums on upload/download via FUSE
2017-05-15 16:56:44 +01:00
Nick Craig-Wood
bcd87009e2
Fix docs typo
2017-05-15 16:56:44 +01:00
Nick Craig-Wood
e1516e0159
Forward port 58a82cd578
into cmount branch
...
allow the fuse directory cached to be cleaned manually
2017-05-15 16:56:43 +01:00
Nick Craig-Wood
268fe0004c
mount: factor filesystem code into mountlib and mounttest
2017-05-12 21:24:24 +01:00
Stefan Breunig
58a82cd578
allow the fuse directory cached to be cleaned manually ( fixes #803 )
2017-05-07 12:08:59 +01:00
Stefan Breunig
930ff266f2
compare checksums on upload/download via FUSE
2017-05-02 22:27:38 +01:00
Stefan Breunig
2fd86c93fc
allow modTime to be changed even before all writers are closed ( fixes #1197 -- again)
2017-03-31 01:28:08 +02:00
Stefan Breunig
4dc030d081
implement ModTime via FUSE for remotes that support it ( fixes #1197 )
2017-03-24 09:23:04 +01:00
Jérôme Vizcaino
788b6ce821
mount: umount dir when program ends with SIGINT (Ctrl+C) or SIGTERM
2017-03-18 21:24:05 +00:00
Nick Craig-Wood
1cc58e4e09
mount: fix logging for unimplemented file open modes #1195
2017-03-02 22:07:01 +00:00
Nick Craig-Wood
3ef9f6f016
mount: add test scripts
2017-02-17 11:37:19 +00:00
Nick Craig-Wood
033d1eb7af
Refactor Account interface
2017-02-17 09:15:24 +00:00
Nick Craig-Wood
928be0f1fd
mount: fix seek with buffering to use correct interface
...
Stop pre-cache before seeking which stops lots of excess data transfer
2017-02-17 08:55:24 +00:00
Nick Craig-Wood
ef604f6100
mount: implement renaming directories - fixes #954
...
This also fixes various caching issues renaming files.
2017-02-16 17:42:38 +00:00
Nick Craig-Wood
dac4bb22d3
mount: Make include and exclude filters apply to mount - fixes #1060
2017-02-15 23:28:53 +00:00
Nick Craig-Wood
9a9d09845c
mount: put read and write async buffers back - control with --buffer-size #1043
2017-02-14 22:59:52 +00:00
Nick Craig-Wood
ac1c041377
Redo log level flags
...
* -vv or --log-level DEBUG
* -v or --log-level INFO
* --log-level NOTICE (default)
* -q --log-level ERROR
Replace Config.Verbose and Config.Quiet with Config.LogLevel
Fixes #739 Fixes #1108 Fixes #1000
2017-02-11 20:22:42 +00:00
Nick Craig-Wood
80f53176d9
Rename log functions and factor into own file
2017-02-11 17:54:50 +00:00
Nick Craig-Wood
8a11da4e14
mount: Make fsync be a no-op for direectories too #1045
2017-02-02 21:31:41 +00:00
Nick Craig-Wood
37fe6d56e5
mount: fix docs for umount flags - fixes #1036
2017-01-30 18:17:16 +00:00
Nick Craig-Wood
29c6e22024
mount: Make fsync be a no-op rather than returning an error - fixes #1045
2017-01-29 11:29:42 +00:00
Nick Craig-Wood
a6b4065e13
mount: fix retry on network failure when reading off crypt - fixes #1042
2017-01-17 16:32:04 +00:00
Nick Craig-Wood
35a6436983
mount: implement proper directory handling (mkdir, rmdir)
...
Before this change mount only simulated rmdir & mkdir, now it actually
runs mkdir & rmdir on the underlying remote, using the new parmaeters
to fs.Mkdir and fs.Rmdir.
Fixes #956
2017-01-06 11:24:22 +00:00
Nick Craig-Wood
43c530922a
Restore ability for any command to show stats by adding --stats flag
...
Make default for `mount` command not to show stats - this can be
re-enabled by adding a `--stats` parameter.
2016-12-15 17:40:17 +00:00
Nick Craig-Wood
dd60f088ed
mount: retry reads on error #873
2016-12-15 17:16:55 +00:00
Nick Craig-Wood
0117aeafbf
mount: this removes the async buffering as it was killing seek performance
2016-12-15 17:08:52 +00:00
Nick Craig-Wood
13b705e227
mount: report the modification times for directories from the remote #940 #950
...
This stops the modification times for directories just being the
current time and reads them from the remote instead. This doesn't
take any extra transactions.
2016-12-14 15:26:04 +00:00
Nick Craig-Wood
c24da0b886
fuse: add stats printing and note which files are transferring
2016-12-04 16:59:46 +00:00
Nick Craig-Wood
be4fd51289
fuse: Add bandwidth accounting and buffering
...
This fixes rclone mount ignoring bwlimit and increases buffering which
should speed up transfers greatly.
Fixes #796
Fixes #690
2016-12-04 16:57:47 +00:00
Nick Craig-Wood
5e35aeca9e
Regularize the command definition names
2016-12-03 09:08:40 +00:00
Nick Craig-Wood
7929b6e756
fuse: support R/W files only if truncate is set.
...
Any reads on the file handle will return an error. This is to support
windows/samba writes.
2016-11-28 17:56:54 +00:00
Nick Craig-Wood
aaa1370a36
Add directory parameter to Rmdir and Mkdir #100 #831
...
This will enable rclone to manage directories properly in the future.
2016-11-26 12:02:53 +00:00
Nick Craig-Wood
c41b67ea08
mount: Implement statfs interface so df works - fixes #894
...
The data returned is not related to the files on the remote, but
apparently samba needs it.
2016-11-20 22:54:03 +00:00
Nick Craig-Wood
0b562bcabc
mount: Note that write is now supported on ACD
2016-11-19 10:54:37 +00:00
Stefan Breunig
bf243f30d3
report number of blocks in fuse
2016-11-12 14:10:36 +01:00
Nick Craig-Wood
64b5a76bec
mount: detect and deal with seeking beyond end of file - fixes #828
2016-11-05 09:59:36 +00:00
Nick Craig-Wood
7cfb1bdc70
fuse: tests: create the directory before starting tests
2016-11-05 09:57:45 +00:00
Nick Craig-Wood
062616e4dd
mount: update code comments
2016-10-30 17:46:00 +00:00
Nick Craig-Wood
87107413f5
fuse: add missing locking on filehandle read #823 #802
2016-10-27 09:57:52 +01:00
Nick Craig-Wood
77b975d16f
Note Amazon Drive doesn't support uploads via FUSE yet
2016-10-23 21:46:48 +01:00
Nick Craig-Wood
c464cc6376
mount: fix alignment of 64 bit counter on ARM #813
2016-10-23 17:36:35 +01:00
Nick Craig-Wood
93e84403bb
Remove io.SeekStart and replace with 0 as it is go 1.7 only
2016-10-22 12:07:51 +01:00
Nick Craig-Wood
eba0a3633b
crypt: speed up repeated seeking - fixes #804
2016-10-21 10:03:16 +01:00
Nick Craig-Wood
de73063977
Fix output of crypt objects in logs
2016-10-20 17:46:51 +01:00
Nick Craig-Wood
a02edb9e69
Add rclone mount --dir-cache-time to control caching of directory entries - fixes #680
2016-10-18 17:23:57 +01:00
Nick Craig-Wood
d8d11023d3
mount: update internal position on seek - fixes #774
2016-10-17 20:20:07 +01:00
Nick Craig-Wood
f45b3c87bf
mount: add --no-seek flag to disable seeking
2016-10-06 13:37:45 +01:00
Nick Craig-Wood
de80a540a7
mount: attempt to speed up
2016-10-05 21:04:57 +01:00
Nick Craig-Wood
392a86f585
mount: Fix read flushing - fixes #638
2016-10-05 21:03:56 +01:00
Nick Craig-Wood
265f5b77a7
mount: make files opened for read seekable - fixes #707
2016-10-05 21:03:56 +01:00
Nick Craig-Wood
5c91623148
mount: Implement FUSE mount options - fixes #653
2016-09-10 09:50:46 +01:00
Nick Craig-Wood
ca841c56a8
Disable smart dashes so --flag
shows properly in the docs - fixes #632
2016-08-22 16:46:08 +01:00
Nick Craig-Wood
9e7ddd5efc
Fix tests when FUSE isn't present
2016-08-20 14:11:21 +01:00
Nick Craig-Wood
f22029bf3d
Add mount command to implement FUSE mounting of remotes #494
...
This enables any rclone remote to be mounted and used as a filesystem
with some limitations.
Only supported for Linux, FreeBSD and OS X
2016-08-18 21:54:54 +01:00