Nick Craig-Wood
e57fe14b61
mount: log IO errors at ERROR level - fixes #6217
2022-06-16 22:13:50 +01:00
albertony
70d1d8d760
mount: replace deprecated fuse.ENOSYS with syscall.ENOSYS
2022-06-13 17:59:44 +01:00
Nick Craig-Wood
e43b5ce5e5
Remove github.com/pkg/errors and replace with std library version
...
This is possible now that we no longer support go1.12 and brings
rclone into line with standard practices in the Go world.
This also removes errors.New and errors.Errorf from lib/errors and
prefers the stdlib errors package over lib/errors.
2021-11-07 11:53:30 +00:00
Ivan Andreev
24de896df2
build: apply gofmt from golang 1.17
2021-09-09 20:43:59 +03:00
Nick Craig-Wood
4cc2a7f342
mount: fix caching of old directories after renaming them
...
It was discovered `rclone mount` (but not `rclone cmount`) cached
directories after rename which it shouldn't have done.
This caused IO errors when trying to access files in renamed
directories on bucket based file systems.
This turned out to be the kernel caching the directories as basil/fuse
sets their expiry time to 60s for some reason.
This fix invalidates the relevant kernel cache entries in the for the
directories which fixes the problem.
Fixes : #4977
See: https://forum.rclone.org/t/after-a-directory-renmane-using-mv-files-are-not-visible-any-longer/22797
2021-03-22 09:07:01 +00:00
Nick Craig-Wood
1545ace8f2
build: remove go1.13 build constraints
2021-02-03 17:46:08 +00:00
Nick Craig-Wood
8ac2f52b6e
mount: disable bazil/fuse based mount on macOS #4393
...
The library is no longer supported on macOS.
2020-10-29 13:34:39 +00: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
3f654dac37
mount: map more rclone errors into file systems errors
...
This improves the error reporting, in particular for
fs.ErrorPermissionDenied which was being reported as an IO error.
2020-04-21 16:31:43 +01:00
Nick Craig-Wood
da41db4712
vfs,mount,cmount: report 1PB free for unknown disk sizes
...
Factor the logic into the VFS layer so we don't have to duplicate it
into mount and cmount.
See: https://forum.rclone.org/t/rclone-mount-question/15454/
2020-04-11 13:31:10 +01: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
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
ffa1dac10b
build: apply gofmt from go1.13 to change case of number literals
2019-09-05 13:59:06 +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
Nick Craig-Wood
8beab1aaf2
build: more pre go1.8 workarounds removed
2019-05-08 15:14:51 +01:00
Fabian Möller
48c09608ea
fix spelling
2019-04-30 14:12:18 +02:00
Nick Craig-Wood
174ca22936
mount,cmount: clip the number of blocks to 2^32-1 on macOS
...
OSX FUSE only supports 32 bit number of blocks which means that block
counts have been wrapping. This causes f_bavail to be 0 which in turn
causes problems with programs like borg backup.
Fixes #2356
2018-08-26 17:32:59 +01:00
Nick Craig-Wood
2b855751fc
vfs,mount,cmount: use About to return the correct disk total/used/free
...
Disks total, used, free now shows correctly for mount and cmount (eg
`df` for Unix or in the Windows explorer).
2018-04-18 18:27:34 +01:00
Nick Craig-Wood
80588a5a6b
Replace "golang.org/x/net/context" with "context" for go1.7+ #2154
2018-04-07 11:42:08 +01: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
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
2083ac6e2a
vfs: add ECLOSED and tidy errors
2017-11-04 10:24:10 +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
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
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
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
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
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
80f53176d9
Rename log functions and factor into own file
2017-02-11 17:54:50 +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
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
64b5a76bec
mount: detect and deal with seeking beyond end of file - fixes #828
2016-11-05 09:59:36 +00:00
Nick Craig-Wood
de80a540a7
mount: attempt to speed up
2016-10-05 21:04:57 +01:00
Nick Craig-Wood
5c91623148
mount: Implement FUSE mount options - fixes #653
2016-09-10 09:50:46 +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