<feed xmlns='http://www.w3.org/2005/Atom'>
<title>gocryptfs/internal/syscallcompat, branch v2.0-beta4</title>
<subtitle>Mirror of gocryptfs source code on Github</subtitle>
<id>http://nuetzlich.net/cgit/gocryptfs/atom?h=v2.0-beta4</id>
<link rel='self' href='http://nuetzlich.net/cgit/gocryptfs/atom?h=v2.0-beta4'/>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/'/>
<updated>2021-03-14T13:43:11+00:00</updated>
<entry>
<title>syscallcompat: getdents: link to #483</title>
<updated>2021-03-14T13:43:11+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2021-03-14T13:43:11+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=f6036c429a35dff83bd01b3e867262cf7e8468ef'/>
<id>urn:sha1:f6036c429a35dff83bd01b3e867262cf7e8468ef</id>
<content type='text'>
Give a user receiving the Getdents warning some background info.
</content>
</entry>
<entry>
<title>syscallcompat: MknodatUser: work around changed syscall.Setgroups semantics</title>
<updated>2021-02-06T10:38:25+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2021-02-06T10:13:22+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=80a651a19474c78b1b2716cbf8c85ffd78698823'/>
<id>urn:sha1:80a651a19474c78b1b2716cbf8c85ffd78698823</id>
<content type='text'>
Since go1.16beta1 (commit d1b1145cace8b968307f9311ff611e4bb810710c ,
https://go-review.googlesource.com/c/go/+/210639 )
syscall.{Setgroups,Setregid,Setreuid} affects all threads, which
is exactly what we not want.

We now use unix.{Setgroups,Setregid,Setreuid} instead.

Workarounds https://github.com/golang/go/issues/1435 .
</content>
</entry>
<entry>
<title>Drop two more generated files</title>
<updated>2020-10-19T17:27:47+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2020-10-19T17:27:47+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=832e58cad4567aa60ce8d390802262c82c5bfba3'/>
<id>urn:sha1:832e58cad4567aa60ce8d390802262c82c5bfba3</id>
<content type='text'>
These were committed by mistake.
</content>
</entry>
<entry>
<title>Drop generated files</title>
<updated>2020-10-19T17:25:47+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2020-10-19T17:25:47+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=165bf6c849c4f750157edce9bdc9702c4c7b684d'/>
<id>urn:sha1:165bf6c849c4f750157edce9bdc9702c4c7b684d</id>
<content type='text'>
These were committed by mistake.
</content>
</entry>
<entry>
<title>fusefronted: reject GETXATTR "security.capability"</title>
<updated>2020-10-18T19:07:30+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2020-10-18T19:05:44+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=6697ffd6e213828ff4cd873cd1d104877096a230'/>
<id>urn:sha1:6697ffd6e213828ff4cd873cd1d104877096a230</id>
<content type='text'>
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
</content>
</entry>
<entry>
<title>syscallcompat: add getxattr fastpaths</title>
<updated>2020-10-17T22:25:42+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2020-10-17T22:25:42+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=c943ed32aaf94a4e60d96c7a513180d29b15a40a'/>
<id>urn:sha1:c943ed32aaf94a4e60d96c7a513180d29b15a40a</id>
<content type='text'>
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 =&gt; 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
</content>
</entry>
<entry>
<title>syscallcompat: add Lgetxattr benchmark</title>
<updated>2020-10-16T18:04:22+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2020-10-16T17:59:36+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=83a324a46bec3332c078abc3a1986969c0f94fd2'/>
<id>urn:sha1:83a324a46bec3332c078abc3a1986969c0f94fd2</id>
<content type='text'>
</content>
</entry>
<entry>
<title>syscallcompat: don't retry Close()</title>
<updated>2020-10-14T11:40:12+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2020-10-14T11:40:12+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=ec3eaf0b8776500a9762555eac754b6c893420fd'/>
<id>urn:sha1:ec3eaf0b8776500a9762555eac754b6c893420fd</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>syscallcompat: retry ops on EINTR</title>
<updated>2020-10-13T22:35:16+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2020-10-13T22:35:16+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=af4c1fb7a3f428ff704af22294ad955d05ed41dd'/>
<id>urn:sha1:af4c1fb7a3f428ff704af22294ad955d05ed41dd</id>
<content type='text'>
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 .
</content>
</entry>
<entry>
<title>syscallcompat: Openat: retry on EINTR</title>
<updated>2020-10-10T23:31:09+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2020-10-10T23:31:09+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=803fdf410bb57d34ef09357ec4924646978c20b5'/>
<id>urn:sha1:803fdf410bb57d34ef09357ec4924646978c20b5</id>
<content type='text'>
Towards fixing https://github.com/rfjakob/gocryptfs/issues/507
</content>
</entry>
</feed>
