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
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
8951875c21
vfs,mount,cmount,mountlib: allow flags to be overriden by environment variables
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
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
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
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
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
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
8f54dc06a2
Use build tags to control when and where cmount is built
2017-05-19 17:08:04 +01:00
Nick Craig-Wood
ecedcd0e7f
cmount: stop failing tests on Windows
2017-05-15 17:40:44 +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
204a19e67f
cmount: Wait for mountpoint to appear on Windows before declaring mounted
2017-05-15 16:56:46 +01:00
Nick Craig-Wood
e6ffe3464c
cmount: check for filesystem blowing up before Init is called
2017-05-15 16:56:46 +01:00
Nick Craig-Wood
0384364c3e
cmount: pass --FileSystemName under windows
2017-05-15 16:56:46 +01:00
Nick Craig-Wood
763facfd78
cmount: implement --fuse-flag to pass commands to fuse library directly
...
Useful for `--fuse-flag -h` to see exactly which options the library supports.
2017-05-15 16:56:46 +01:00
Nick Craig-Wood
bc88f1dafa
cmount: fix openFile leak
2017-05-15 16:56:46 +01:00
Nick Craig-Wood
0c055a1215
cmount: Statfs: reduce max size of volume for Windows
2017-05-15 16:56:46 +01:00
Nick Craig-Wood
938d7951ab
cmount: allow extra options to pass to fuse with -o
2017-05-15 16:56:45 +01:00
Nick Craig-Wood
b4466bd9b1
Add -o uid=-1 -o gid=-1 for Windows/WinFsp
2017-05-15 16:56:45 +01:00
Nick Craig-Wood
31f76aa464
cmount: implement no-ops for Fsync, Chmod, Chown, Access, Fsyncdir and stop using fuse.FileSystemBase
2017-05-15 16:56:45 +01:00
Nick Craig-Wood
c887c164dc
cmount: add function tracing
2017-05-15 16:56:45 +01:00
Nick Craig-Wood
9c3048580a
cmount: fix code quality warnings
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
855071cc19
cmount: name the command mount under windows and cmount under linux
2017-05-15 16:56:44 +01:00
Nick Craig-Wood
b179540e80
cmount: fix Getattr to work on directories
2017-05-15 16:56:44 +01:00
Nick Craig-Wood
7b47a1e842
cmount: set the correct values for uid, gid under Windows
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
caf85737c3
cmount: fix Windows compile (thanks Bill Zissimopoulos)
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
ee1111e4c9
cmount: a new mount option based on cgofuse.
...
This with the aid of WinFSP should work on Windows.
Unfinished bits
* 1 test doesn't pass
* docs
* build
2017-05-15 16:56:43 +01:00