<feed xmlns='http://www.w3.org/2005/Atom'>
<title>gocryptfs, branch master</title>
<subtitle>Mirror of gocryptfs source code on Github</subtitle>
<id>http://nuetzlich.net/cgit/gocryptfs/atom?h=master</id>
<link rel='self' href='http://nuetzlich.net/cgit/gocryptfs/atom?h=master'/>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/'/>
<updated>2026-07-22T19:57:57+00:00</updated>
<entry>
<title>fusefrontend: expose birth time via statx</title>
<updated>2026-07-22T19:57:57+00:00</updated>
<author>
<name>Marios Titas</name>
</author>
<published>2026-07-21T17:27:38+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=790362e8f8eabd1bdf75f98328daf94cf623c600'/>
<id>urn:sha1:790362e8f8eabd1bdf75f98328daf94cf623c600</id>
<content type='text'>
Forward the backing filesystem's STATX_BTIME on Linux while preserving
existing metadata translations and fallback behavior.

On Linux 6.6 and newer, this allows statx consumers such as GNU stat
to report birth time when the backing filesystem provides it. Older
kernels and backing filesystems without birth-time support retain the
existing behavior. No on-disk format change or migration is required.

Reverse mode remains unchanged.

Fixes #868.

Related context: #732
</content>
</entry>
<entry>
<title>fusefrontend: make translateSize Stat_t/Statx_t agnostic</title>
<updated>2026-07-22T19:51:40+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2026-07-22T19:49:43+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=b3b292a8a3c1478b769e213e0e590f38cb1b923c'/>
<id>urn:sha1:b3b292a8a3c1478b769e213e0e590f38cb1b923c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>sharedstorage: fix darwin &amp; freebsd build failure</title>
<updated>2026-07-16T20:07:54+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2026-07-16T19:16:45+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=b8e34b1efcb27c772f0d2ca12f5ecdd6b7fc817b'/>
<id>urn:sha1:b8e34b1efcb27c772f0d2ca12f5ecdd6b7fc817b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fusefrontend: sharedstorage: truncate: error out on failed file lock</title>
<updated>2026-07-16T20:07:54+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2026-07-16T19:10:14+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=ace4b17c63d8d891227fce33ed36569db9472159'/>
<id>urn:sha1:ace4b17c63d8d891227fce33ed36569db9472159</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tests/cluster: fix possible fd exhaustion</title>
<updated>2026-07-16T20:07:54+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2026-07-16T19:01:01+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=67e9abeb2830c517cbcbbd93de184055b2d4227b'/>
<id>urn:sha1:67e9abeb2830c517cbcbbd93de184055b2d4227b</id>
<content type='text'>
...and one typo.
</content>
</entry>
<entry>
<title>fusefrontend: LockSharedStorage: loop on EINTR, add debug output</title>
<updated>2026-07-16T20:07:54+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2026-07-16T18:47:57+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=b89f0dc94bd83857b187a84a0d4ae127000f0b1c'/>
<id>urn:sha1:b89f0dc94bd83857b187a84a0d4ae127000f0b1c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fusefrontend: sharedstorage: add two missing unlocks</title>
<updated>2026-07-16T20:07:54+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2026-07-16T18:34:11+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=bb68ca2aa7da9e166dca45979ff9932e05248370'/>
<id>urn:sha1:bb68ca2aa7da9e166dca45979ff9932e05248370</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fusefrontend: sharedstorage: introduce UnlockSharedStorage helper</title>
<updated>2026-07-16T20:07:54+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2026-07-16T18:32:51+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=a95d6ac5818a749db67d34bcbe9a358d403b6a6e'/>
<id>urn:sha1:a95d6ac5818a749db67d34bcbe9a358d403b6a6e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fusefrontend: sharedstorage: lock truncate agains concurrent access</title>
<updated>2026-07-16T20:07:54+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2024-12-30T11:08:41+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=29000177b94c6c9aaab97b3f3d8ed5123ed7cf44'/>
<id>urn:sha1:29000177b94c6c9aaab97b3f3d8ed5123ed7cf44</id>
<content type='text'>
Prevent reads and writes concurrent with the truncate operation. It's
racy on tmpfs and ext4 ( https://lore.kernel.org/all/18e9fa0f-ec31-9107-459c-ae1694503f87@gmail.com/t/ )
as evident by TestOpenTruncate test failures:

  === RUN   TestOpenTruncate
      cluster_test.go:209: POSIX compliance issue: non-exlusive create failed with err=file exists
  doRead 16384215: corrupt block #0: cipher: message authentication failed
  ino16384215 fh8: RMW read failed: errno=5
      cluster_test.go:214: iteration 1: WriteAt: write /tmp/gocryptfs-test-parent-1026/1358464214/TestOpenTruncate.1788296708.mnt2/foo: input/output error
  --- FAIL: TestOpenTruncate (0.06s)
  FAIL
  exit status 1
  FAIL	github.com/rfjakob/gocryptfs/v2/tests/cluster	7.880s

Relates-to: https://github.com/rfjakob/gocryptfs/issues/56
</content>
</entry>
<entry>
<title>fusefrontend: sharedstorage: add warnings for lock failure</title>
<updated>2026-07-16T20:07:54+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2023-06-19T11:35:29+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=836f4fc356ae860d8d3a323ada0bb0d71ed102bc'/>
<id>urn:sha1:836f4fc356ae860d8d3a323ada0bb0d71ed102bc</id>
<content type='text'>
Complain loudly when the underlying storage does not support
byte-range locks.

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