Commit 25848707 authored by Felix Lechner's avatar Felix Lechner

Merge tag 'v1.6.1' into debian

gocryptfs v1.6.1
parents 07a6a907 658cc4ae
......@@ -29,6 +29,7 @@ install:
script:
- openssl version
- df -Th / /tmp
- go build
- ./build-without-openssl.bash
- ./build.bash
......
......@@ -67,7 +67,7 @@ as well as in the go-fuse library.
Compile
-------
With [go 1.5 or higher](.travis.yml#L8):
With [go 1.7 or higher](.travis.yml#L12):
$ go get -d github.com/rfjakob/gocryptfs
$ cd $(go env GOPATH)/src/github.com/rfjakob/gocryptfs
......@@ -140,13 +140,14 @@ tarball, recursively listing and finally deleting it. The output will
look like this:
```
$ ./benchmark.bash
linux-3.0.tar.gz 100%[==========================>] 92,20M 2,96MB/s in 35s
2016-05-04 19:29:20 URL:https://www.kernel.org/pub/linux/kernel/v3.0/linux-3.0.tar.gz
WRITE: 131072000 bytes (131 MB) copied, 1,43137 s, 91,6 MB/s
UNTAR: 23.25
LS: 1.75
RM: 4.42
$ ./benchmark.bash
Testing gocryptfs at /tmp/benchmark.bash.DwL: gocryptfs v1.6; go-fuse v20170619-45-g95c6370; 2018-08-18 go1.10.3
WRITE: 262144000 bytes (262 MB, 250 MiB) copied, 1.1033 s, 238 MB/s
READ: 262144000 bytes (262 MB, 250 MiB) copied, 0.945291 s, 277 MB/s
UNTAR: 17.768
MD5: 8.459
LS: 1.460
RM: 3.379
```
Changelog
......
......@@ -84,12 +84,12 @@ func Dup3(oldfd int, newfd int, flags int) (err error) {
// Fchmodat syscall.
func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) {
// Why would we ever want to call this without AT_SYMLINK_NOFOLLOW?
if flags&unix.AT_SYMLINK_NOFOLLOW == 0 {
tlog.Warn.Printf("Fchmodat: adding missing AT_SYMLINK_NOFOLLOW flag")
flags |= unix.AT_SYMLINK_NOFOLLOW
}
return syscall.Fchmodat(dirfd, path, mode, flags)
// Linux does not support passing flags to fchmodat! From the man page:
// AT_SYMLINK_NOFOLLOW ... This flag is not currently implemented.
// Linux ignores any flags, but Go stdlib rejects them with EOPNOTSUPP starting
// with Go 1.11. See https://github.com/golang/go/issues/20130 for more info.
// TODO: Use fchmodat2 once available on Linux.
return syscall.Fchmodat(dirfd, path, mode, 0)
}
// Fchownat syscall.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment