<feed xmlns='http://www.w3.org/2005/Atom'>
<title>gocryptfs, branch v2.0-beta2</title>
<subtitle>Mirror of gocryptfs source code on Github</subtitle>
<id>http://nuetzlich.net/cgit/gocryptfs/atom?h=v2.0-beta2</id>
<link rel='self' href='http://nuetzlich.net/cgit/gocryptfs/atom?h=v2.0-beta2'/>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/'/>
<updated>2020-11-14T12:21:26+00:00</updated>
<entry>
<title>Update Changelog for v2.0-beta2</title>
<updated>2020-11-14T12:21:26+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2020-11-14T12:21:26+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=5d872b71066f5853e3fbcc8c2e7fc3235215b72c'/>
<id>urn:sha1:5d872b71066f5853e3fbcc8c2e7fc3235215b72c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fusefrontend_reverse: fix GETATTR panic</title>
<updated>2020-11-10T18:37:49+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2020-11-10T18:37:49+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=1c1692c4d9ab0357a66ffe5673aeb190cd326a1a'/>
<id>urn:sha1:1c1692c4d9ab0357a66ffe5673aeb190cd326a1a</id>
<content type='text'>
We don't implement Getattr(), so don't try to call it.

Reported at https://github.com/rfjakob/gocryptfs/issues/519#issuecomment-718790790 :

15:22:53.414101 rx 3344: READ n2565 {Fh 7 [42143744 +131072)  L 0 RDONLY,0x8000}
15:22:53.414274 rx 3342: READ n2565 {Fh 7 [42012672 +131072)  L 0 RDONLY,0x8000}
15:22:53.414787 rx 3346: READ n2565 {Fh 7 [42274816 +131072)  L 0 RDONLY,0x8000}
15:22:53.414806 tx 3336:     OK,  131072b data "\xcb\xd3&lt;\"!-\xa7\xc4"...
15:22:53.414874 rx 3348: GETATTR n1446 {Fh 0}
panic: interface conversion: *fusefrontend_reverse.File is not fs.FileGetattrer: missing method Getattr

goroutine 451 [running]:
github.com/rfjakob/gocryptfs/internal/fusefrontend_reverse.(*Node).Getattr(0xc00034c880, 0x5620579784c0, 0xc000593e60, 0x562057939800, 0xc000218050, 0xc0000fc108, 0x0)
        github.com/rfjakob/gocryptfs/internal/fusefrontend_reverse/node.go:69 +0x273
github.com/hanwen/go-fuse/v2/fs.(*rawBridge).getattr(0xc00011e000, 0x5620579784c0, 0xc000593e60, 0xc00034c880, 0x562057939800, 0xc000218050, 0xc0000fc108, 0xbfded1ef58ba7b13)
        github.com/hanwen/go-fuse/v2@v2.0.4-0.20200908172753-0b6cbc515082/fs/bridge.go:500 +0x2d4
github.com/hanwen/go-fuse/v2/fs.(*rawBridge).GetAttr(0xc00011e000, 0xc0000e0000, 0xc0000fc198, 0xc0000fc108, 0x0)
        github.com/hanwen/go-fuse/v2@v2.0.4-0.20200908172753-0b6cbc515082/fs/bridge.go:488 +0x11c
github.com/hanwen/go-fuse/v2/fuse.doGetAttr(0xc000120000, 0xc0000fc000)
        github.com/hanwen/go-fuse/v2@v2.0.4-0.20200908172753-0b6cbc515082/fuse/opcode.go:287 +0x6f
github.com/hanwen/go-fuse/v2/fuse.(*Server).handleRequest(0xc000120000, 0xc0000fc000, 0xc000000000)
        github.com/hanwen/go-fuse/v2@v2.0.4-0.20200908172753-0b6cbc515082/fuse/server.go:472 +0x2c1
github.com/hanwen/go-fuse/v2/fuse.(*Server).loop(0xc000120000, 0xc000288001)
        github.com/hanwen/go-fuse/v2@v2.0.4-0.20200908172753-0b6cbc515082/fuse/server.go:445 +0x18c
created by github.com/hanwen/go-fuse/v2/fuse.(*Server).readRequest
        github.com/hanwen/go-fuse/v2@v2.0.4-0.20200908172753-0b6cbc515082/fuse/server.go:312 +0x419
</content>
</entry>
<entry>
<title>performance.txt: add v2.0-beta1-9 results</title>
<updated>2020-11-10T18:27:30+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2020-11-10T18:27:30+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=4872a4a8aa1b6531e1871b9cff797b22d91445cc'/>
<id>urn:sha1:4872a4a8aa1b6531e1871b9cff797b22d91445cc</id>
<content type='text'>
</content>
</entry>
<entry>
<title>go.mod: switch back to mainline go-fuse</title>
<updated>2020-11-10T18:24:48+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2020-11-10T18:24:48+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=6bdc8c6ee8e41aa4cf947602b20c6058fed4a20e'/>
<id>urn:sha1:6bdc8c6ee8e41aa4cf947602b20c6058fed4a20e</id>
<content type='text'>
https://review.gerrithub.io/c/hanwen/go-fuse/+/503508
was merged as
https://github.com/hanwen/go-fuse/commit/1d0096e57910b8277fd8862b5f0932c04d41857b
so we don't need our fork anymore.
</content>
</entry>
<entry>
<title>README: add link to gocryptfs-inspect</title>
<updated>2020-10-22T19:47:03+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2020-10-22T19:47:03+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=029e44d405cd7f378fb60740ed7dba49cd5e4915'/>
<id>urn:sha1:029e44d405cd7f378fb60740ed7dba49cd5e4915</id>
<content type='text'>
This is *very* hard to find.

https://github.com/rfjakob/gocryptfs/issues/152
</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>fsck: make sure we unmount in all cases</title>
<updated>2020-10-17T21:03:58+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2020-10-17T21:03:58+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=95ea7383f9aeef83e6ce7a06d49d0f24857ef30a'/>
<id>urn:sha1:95ea7383f9aeef83e6ce7a06d49d0f24857ef30a</id>
<content type='text'>
</content>
</entry>
</feed>
