| Age | Commit message (Collapse) | Author | 
|---|
|  | These were committed by mistake. | 
|  | These were committed by mistake. | 
|  | Unless we are mounted with -suid, we can reject
these requests, and gain back some lost speed.
Closes https://github.com/rfjakob/gocryptfs/issues/515 | 
|  | The allocations from Lgetxattr were #1 in the tar extract
allocation profile (caused by security.capability lookups).
No more!
$ benchstat old.txt new.txt
name         old time/op  new time/op  delta
Lgetxattr-4  15.2µs ± 0%   1.8µs ± 0%   ~     (p=1.000 n=1+1)
$ ./benchmark.bash
Testing gocryptfs at /tmp/benchmark.bash.H8p: gocryptfs v2.0-beta1-4-g95ea738-dirty; go-fuse v2.0.4-0.20200908172753-0b6cbc515082 => github.com/rfjakob/go-fuse/v2 v2.0.4-0.20201015204057-88b12c99f8af; 2020-10-18 go1.15.3 linux/amd64
/tmp/benchmark.bash.H8p.mnt is a mountpoint
WRITE: 262144000 bytes (262 MB, 250 MiB) copied, 0,520109 s, 504 MB/s
READ:  262144000 bytes (262 MB, 250 MiB) copied, 0,255672 s, 1,0 GB/s
UNTAR: 30,238
MD5:   12,721
LS:    10,038
RM:    16,536 | 
|  |  | 
|  |  | 
|  |  | 
|  | As expected, we are slow. Fd caching will be implemented later. | 
|  |  | 
|  | Served its mission a copy-paste source but can now be deleted. | 
|  | Use our fork until https://review.gerrithub.io/c/hanwen/go-fuse/+/503508
gets merged.
Command used was:
	go mod edit -replace github.com/hanwen/go-fuse/v2=github.com/rfjakob/go-fuse/v2@knodes_upstreaming_v3 | 
|  |  | 
|  | Suppress the date but show microseconds in fuse debug logs
(-fusedebug) and go-fuse warnings. | 
|  | After Close() returns, the fd is dead, even if we
received EINTR. Don't retry, we could shoot down
an unrelated fd that received the same fd number. | 
|  | Retry operations that have been shown to throw EINTR
errors on CIFS.
Todo: Solution for this pain in the back:
	warning: unix.Getdents returned errno 2 in the middle of data
	rm: cannot remove 'linux-3.0.old3/Documentation/ABI/removed': Input/output error
Progress towards fixing https://github.com/rfjakob/gocryptfs/issues/483 . | 
|  | Towards fixing https://github.com/rfjakob/gocryptfs/issues/507 | 
|  | If you do something like this,
  go mod edit -replace github.com/hanwen/go-fuse/v2=/home/jakob/go/src/github.com/hanwen/go-fuse
the version string of the resulting binary should reflect that.
Before:
  gocryptfs v1.8.0-135-g352b547-dirty.gofuse_v2api; go-fuse v2.0.4-0.20200908172753-0b6cbc515082; 2020-10-03 go1.15.2 linux/amd64
After:
  gocryptfs v1.8.0-135-g352b547-dirty.gofuse_v2api; go-fuse v2.0.4-0.20200908172753-0b6cbc515082 => /home/jakob/go/src/github.com/hanwen/go-fuse; 2020-10-03 go1.15.2 linux/amd64 | 
|  |  | 
|  | Also add a wrapper script, fsstress.collect-crashes.sh, to collect
the debug output.
https://github.com/hanwen/go-fuse/issues/372 | 
|  | We would hang like this
   ./fsstress-loopback.bash
  Recompile go-fuse loopback: v2.0.3-7-g0b6cbc5
  Waiting for mount: xxxxxxxx^C
if TMPDIR has a trailing /. The reason is that the
paths in /proc/self/mounts are normalized, while
TMPDIR may not be. | 
|  |  | 
|  | To make the used go-fuse version clear in logs,
print it on startup, similar to what we do with gocryptfs. | 
|  | Also fix all shellcheck warnings. | 
|  |  | 
|  | Apparently, kernel 5.8 now allows unprivileged "mknod /tmp/x c 0 0":
	vfs: allow unprivileged whiteout creation
	https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.8.9&id=a3c751a50fe6bbe50eb7622a14b18b361804ee0c
which is why rm throws a new prompt:
	rm: remove write-protected character special file '...'?
Use rm -Rf to suppress that. | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  | ext4 reuses inode numbers, tmpfs does not. | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  | Fixes https://github.com/rfjakob/gocryptfs/pull/503 | 
|  |  | 
|  | v1api reverse mode did not have xattr support,
the v2api version may have at some point. Prep the
test already. | 
|  |  | 
|  |  | 
|  |  | 
|  | Rename the symbols and the files. | 
|  | Tests pass now. | 
|  | Exclude in readdir is missing. | 
|  | Instead bubble up the error to the testing object. | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  |