<feed xmlns='http://www.w3.org/2005/Atom'>
<title>gocryptfs/internal/fusefrontend/node_xattr_linux.go, branch xattr_user_buffer</title>
<subtitle>Mirror of gocryptfs source code on Github</subtitle>
<id>http://nuetzlich.net/cgit/gocryptfs/atom?h=xattr_user_buffer</id>
<link rel='self' href='http://nuetzlich.net/cgit/gocryptfs/atom?h=xattr_user_buffer'/>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/'/>
<updated>2026-02-03T19:28:10+00:00</updated>
<entry>
<title>Use user-provided Listxattr buffer size</title>
<updated>2026-02-03T19:28:10+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2026-02-02T21:18:25+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=14045511d3d91f36845a138359718c0fe7dff21c'/>
<id>urn:sha1:14045511d3d91f36845a138359718c0fe7dff21c</id>
<content type='text'>
This huge buffer showed up big time in ./profiling/ls.bash
and caused a 2x LS benchmark slowdown.

Instead of the fixed-size buffer, use the buffer size
hint the user has provided us.

We return inaccurate (larger than actual, which should be safe)
numbers when the user has provided no buffer (size probe).
</content>
</entry>
<entry>
<title>added -noxattr flag which ignores all xattr operations (#987)</title>
<updated>2026-01-18T18:48:51+00:00</updated>
<author>
<name>Jarek Kowalski</name>
</author>
<published>2026-01-18T18:48:51+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=6013d56f0c09100190107613ce8c5c4c929216dd'/>
<id>urn:sha1:6013d56f0c09100190107613ce8c5c4c929216dd</id>
<content type='text'>
* added -noxattr flag which ignores all xattr operations</content>
</entry>
<entry>
<title>go mod: declare module version v2</title>
<updated>2021-08-23T13:05:15+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2021-08-23T13:05:15+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=69d88505fd7f4cb0d9e4f1918de296342fe05858'/>
<id>urn:sha1:69d88505fd7f4cb0d9e4f1918de296342fe05858</id>
<content type='text'>
Our git version is v2+ for some time now, but go.mod
still declared v1. Hopefully making both match makes
https://pkg.go.dev/github.com/rfjakob/gocryptfs/v2 work.

All the import paths have been fixed like this:

  find . -name \*.go | xargs sed -i s%github.com/rfjakob/gocryptfs/%github.com/rfjakob/gocryptfs/v2/%
</content>
</entry>
<entry>
<title>fusefrontend: implement recursive diriv caching</title>
<updated>2021-06-25T11:56:53+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2021-06-25T09:33:18+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=84e702126ac4f017e12150532bfaed675dee2927'/>
<id>urn:sha1:84e702126ac4f017e12150532bfaed675dee2927</id>
<content type='text'>
The new contrib/maxlen.bash showed that we have exponential
runtime with respect to directory depth.

The new recursive diriv caching is a lot smarter as it caches
intermediate lookups. maxlen.bash now completes in a few seconds.

xfstests results same as
https://github.com/rfjakob/fuse-xfstests/blob/2d158e4c82be85c15269af77498e353f928f4fab/screenlog.0 :

  Failures: generic/035 generic/062 generic/080 generic/093 generic/099 generic/215 generic/285 generic/319 generic/426 generic/444 generic/467 generic/477 generic/523
  Failed 13 of 580 tests

benchmark.bash results are identical:

  $ ./benchmark.bash
  Testing gocryptfs at /tmp/benchmark.bash.BdQ: gocryptfs v2.0.1-17-g6b09bc0; go-fuse v2.1.1-0.20210611132105-24a1dfe6b4f8; 2021-06-25 go1.16.5 linux/amd64
  /tmp/benchmark.bash.BdQ.mnt is a mountpoint
  WRITE: 262144000 bytes (262 MB, 250 MiB) copied, 0,4821 s, 544 MB/s
  READ:  262144000 bytes (262 MB, 250 MiB) copied, 0,266061 s, 985 MB/s
  UNTAR: 8,280
  MD5:   4,564
  LS:    1,745
  RM:    2,244
</content>
</entry>
<entry>
<title>fusefrontend: run acl Setxattr in user context</title>
<updated>2021-06-02T17:10:36+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2021-06-02T17:10:36+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=a38e5988bae3319a2c1c6745064f5785a0971d05'/>
<id>urn:sha1:a38e5988bae3319a2c1c6745064f5785a0971d05</id>
<content type='text'>
The result of setting an acl depends on who runs the
operation!

Fixes fuse-xfstests generic/375
(see https://github.com/rfjakob/fuse-xfstests/wiki/results_2021-05-19)
</content>
</entry>
<entry>
<title>v2api: implement Getxattr, Setxattr, Removexattr, Listxattr</title>
<updated>2020-07-14T17:55:20+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2020-07-14T17:55:20+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=57d572dbc10cfb1d14642598b0827d4119b26b64'/>
<id>urn:sha1:57d572dbc10cfb1d14642598b0827d4119b26b64</id>
<content type='text'>
gocryptfs/tests/xattr passes.
</content>
</entry>
</feed>
