09954c4bde
Not having Access() means go-fuse emulates it by looking at Getattr(). This works fine most of the time, but breaks down on sshfs, where sshfs-benchmark.bash shows this: gocryptfs/tests$ ./sshfs-benchmark.bash nuetzlich.net working directory: /tmp/sshfs-benchmark.bash.JQC sshfs mounted: nuetzlich.net:/tmp -> sshfs.mnt gocryptfs mounted: sshfs.mnt/sshfs-benchmark.bash.Wrz/gocryptfs.crypt -> gocryptfs.mnt sshfs-benchmark.bash: sshfs gocryptfs-on-sshfs git init 3.98 6.80 rsync 7.71 10.84 rm -R 4.30rm: descend into write-protected directory 'gocryptfs.mnt/git1'? The go-fuse emulation gets it wrong here because sshfs reports permissions but does not enforce them. Implement it ourselves properly. |
||
---|---|---|
.. | ||
args.go | ||
ctlsock_interface.go | ||
dircache.go | ||
file_allocate_truncate.go | ||
file_api_check.go | ||
file_holes.go | ||
file_setattr.go | ||
file.go | ||
node_api_check.go | ||
node_dir_ops.go | ||
node_helpers.go | ||
node_open_create.go | ||
node_prepare_syscall.go | ||
node_xattr_darwin.go | ||
node_xattr_linux.go | ||
node_xattr.go | ||
node.go | ||
prepare_syscall_test.go | ||
root_node.go | ||
xattr_unit_test.go |