<feed xmlns='http://www.w3.org/2005/Atom'>
<title>gocryptfs/internal/fusefrontend_reverse, 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>Xattrs support in reverse mode</title>
<updated>2025-11-22T20:24:20+00:00</updated>
<author>
<name>Aleksey Vasenev</name>
</author>
<published>2024-11-17T20:14:36+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=ed1c5e4a9f5ce1921f3ec03b32e591ce828ec5b9'/>
<id>urn:sha1:ed1c5e4a9f5ce1921f3ec03b32e591ce828ec5b9</id>
<content type='text'>
Fixes https://github.com/rfjakob/gocryptfs/issues/827
</content>
</entry>
<entry>
<title>Fix all staticcheck errors in gocryptfs codebase</title>
<updated>2025-07-08T17:54:14+00:00</updated>
<author>
<name>copilot-swe-agent[bot]</name>
</author>
<published>2025-07-07T18:18:12+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=386232f39ede046d6453a0990ad40f2d86a26f53'/>
<id>urn:sha1:386232f39ede046d6453a0990ad40f2d86a26f53</id>
<content type='text'>
Co-authored-by: rfjakob &lt;286847+rfjakob@users.noreply.github.com&gt;

Add staticcheck to test.bash for continuous static analysis

Co-authored-by: rfjakob &lt;286847+rfjakob@users.noreply.github.com&gt;

Fix nil pointer dereference in timesToTimespec function

The previous fix for deprecated fuse.UtimeToTimespec caused a panic
because unix.TimeToTimespec doesn't handle nil pointers. This fix
properly handles nil pointers by using unix.UTIME_OMIT while still
using the non-deprecated unix.TimeToTimespec function.

Co-authored-by: rfjakob &lt;286847+rfjakob@users.noreply.github.com&gt;

Undo SA6002 changes and add staticcheck ignore directive instead

Co-authored-by: rfjakob &lt;286847+rfjakob@users.noreply.github.com&gt;
</content>
</entry>
<entry>
<title>Fix a bunch of staticcheck errors</title>
<updated>2025-07-07T17:59:35+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2025-07-07T17:54:48+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=8f5df19b353e02ffba842fd1b15ccf93da7ee3b4'/>
<id>urn:sha1:8f5df19b353e02ffba842fd1b15ccf93da7ee3b4</id>
<content type='text'>
Tool-assisted.
</content>
</entry>
<entry>
<title>Switch to the new atomic Uint64.Add api</title>
<updated>2025-05-06T07:11:49+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2025-05-06T07:11:49+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=9b6e47fc0a2ed65d462424152a13f995a8d7dd9a'/>
<id>urn:sha1:9b6e47fc0a2ed65d462424152a13f995a8d7dd9a</id>
<content type='text'>
The new api guarantees that the value is aligned, preventing
stuff like this on 32 bit platforms:

	goroutine 26 [running]:
	internal/runtime/atomic.panicUnaligned()
		/usr/lib/go-1.24/src/internal/runtime/atomic/unaligned.go:8 +0x24
	internal/runtime/atomic.Xadd64(0x2496c74, 0x1)
		/usr/lib/go-1.24/src/internal/runtime/atomic/atomic_arm.s:318 +0x14
	github.com/rfjakob/gocryptfs/internal/inomap.(*InoMap).NextSpillIno(0x2496c60)

Fixes https://github.com/rfjakob/gocryptfs/issues/912
</content>
</entry>
<entry>
<title>fusefrontend_reverse: import go-gitignore with explicit alias</title>
<updated>2025-05-06T07:07:54+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2025-05-06T07:07:54+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=e59f97806b12d593b972bbd17988f061fcc09043'/>
<id>urn:sha1:e59f97806b12d593b972bbd17988f061fcc09043</id>
<content type='text'>
</content>
</entry>
<entry>
<title>reverse: lookupDiriv: use deriveDirIV helper</title>
<updated>2025-01-18T18:57:44+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2025-01-14T19:04:17+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=f93fa965b37926c6c5ad5ffdcfddaa131879f97f'/>
<id>urn:sha1:f93fa965b37926c6c5ad5ffdcfddaa131879f97f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>reverse: advance mtime &amp; ctime for virtual files by 10 seconds</title>
<updated>2025-01-18T13:13:52+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2025-01-18T13:11:51+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=9eb47cf546d7e2499eab210d70050ef78087475a'/>
<id>urn:sha1:9eb47cf546d7e2499eab210d70050ef78087475a</id>
<content type='text'>
With inode number reuse and hard links, we could have returned
wrong data for gocryptfs.diriv and gocryptfs.xyz.longname files, respectively
(https://github.com/rfjakob/gocryptfs/issues/802).

Now that this is fixed, ensure that rsync and similar tools pick up the new
correct files by advancing mtime and ctime by 10 seconds, which should be more
than any filesytems' timestamp granularity (FAT32 has 2 seconds).
</content>
</entry>
<entry>
<title>Report inode number for the root node</title>
<updated>2024-11-11T21:33:07+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2024-11-11T21:27:42+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=86891054ef2a5d1b0b59c7c140aae284e7c5bd87'/>
<id>urn:sha1:86891054ef2a5d1b0b59c7c140aae284e7c5bd87</id>
<content type='text'>
Now that https://github.com/hanwen/go-fuse/issues/399 has
landed we can report an inode number for the root node.

Fixes https://github.com/rfjakob/gocryptfs/issues/580
</content>
</entry>
</feed>
