<feed xmlns='http://www.w3.org/2005/Atom'>
<title>gocryptfs/internal/fusefrontend/file_holes.go, branch LockSharedStorage_rebase2</title>
<subtitle>Mirror of gocryptfs source code on Github</subtitle>
<id>http://nuetzlich.net/cgit/gocryptfs/atom?h=LockSharedStorage_rebase2</id>
<link rel='self' href='http://nuetzlich.net/cgit/gocryptfs/atom?h=LockSharedStorage_rebase2'/>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/'/>
<updated>2025-07-10T18:06:34+00:00</updated>
<entry>
<title>remove redundant contentEnc reference from file</title>
<updated>2025-07-10T18:06:34+00:00</updated>
<author>
<name>Lars Quentin</name>
</author>
<published>2025-07-10T14:33:26+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=844f339befe67a3f8573f98c23559fd7c1a6e507'/>
<id>urn:sha1:844f339befe67a3f8573f98c23559fd7c1a6e507</id>
<content type='text'>
</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: rewrite Lseek SEEK_DATA / SEEK_HOLE</title>
<updated>2021-05-29T14:05:36+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2021-05-29T14:05:36+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=738a9e006af6f5e43871c2d8e208601c18191965'/>
<id>urn:sha1:738a9e006af6f5e43871c2d8e208601c18191965</id>
<content type='text'>
In response to the discussion of the xfstests mailing list [1],
I looked at the Lseek implementation, which was naive and
did not handle all cases correctly.

The new implementation aligns the returned values to 4096 bytes
as most callers expect.

A lot of tests are added to verify that we handle all
cases correctly now.

[1]: https://www.spinics.net/lists/fstests/msg16554.html
</content>
</entry>
<entry>
<title>v2api/reverse: implement Lseek</title>
<updated>2020-08-16T17:58:47+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2020-08-16T17:58:47+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=d212b246c5e24e6151bef45ad5a8185fdd12a28f'/>
<id>urn:sha1:d212b246c5e24e6151bef45ad5a8185fdd12a28f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>v2api: rename "File2" to just "File"</title>
<updated>2020-08-16T10:50:33+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2020-08-16T10:48:16+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=ee5ab1cc29c6f5ff6061a88b742d5ff88de40802'/>
<id>urn:sha1:ee5ab1cc29c6f5ff6061a88b742d5ff88de40802</id>
<content type='text'>
Rename the symbols and the files.
</content>
</entry>
<entry>
<title>v2api: delete (most) fusefrontend v1 files</title>
<updated>2020-07-26T16:35:12+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2020-07-26T16:35:12+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=777b95f82ffea8a25b95089343b07b29378110da'/>
<id>urn:sha1:777b95f82ffea8a25b95089343b07b29378110da</id>
<content type='text'>
All the functionality in these files has been reimplemented
for the v2 api. Drop the old files.
</content>
</entry>
<entry>
<title>Update go-fuse import path to github.com/hanwen/go-fuse/v2</title>
<updated>2020-05-17T12:23:47+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2020-05-17T12:18:23+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=ec74d1d2f4217a9a337d1db9902f32ae2aecaf33'/>
<id>urn:sha1:ec74d1d2f4217a9a337d1db9902f32ae2aecaf33</id>
<content type='text'>
We need
https://github.com/hanwen/go-fuse/commit/fd7328faf9fdf75709f7ba7df7072aaf4eeb18b3
to fix a crash reported in https://github.com/rfjakob/gocryptfs/issues/430 :

  2019/10/30 17:14:16 Unknown opcode 2016
  panic: runtime error: invalid memory address or nil pointer dereference
  [signal SIGSEGV: segmentation violation code=0x1 addr=0x20 pc=0x508d38]

This patch is only in the v2.x.x branch. Upgrade to v2, as the
old API is also supported there.

Running

  git grep hanwen/go-fuse | grep -v hanwen/go-fuse/v2

to check for forgotten references comes back clean.
</content>
</entry>
<entry>
<title>fusefrontend: Properly convert plaintext &lt;-&gt; ciphertext offsets in SeekData().</title>
<updated>2019-01-06T11:21:54+00:00</updated>
<author>
<name>Sebastian Lackner</name>
</author>
<published>2019-01-06T03:46:16+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=8310dd95be0675a1438481a423ba06cb3a8647da'/>
<id>urn:sha1:8310dd95be0675a1438481a423ba06cb3a8647da</id>
<content type='text'>
Fixes https://github.com/rfjakob/gocryptfs/issues/304
</content>
</entry>
<entry>
<title>fusefrontend: doWrite: delete file header if first write fails</title>
<updated>2018-07-15T13:12:55+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2018-07-15T12:14:12+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=c70df522d2a78f3152fa61511bed9fafa7c495a3'/>
<id>urn:sha1:c70df522d2a78f3152fa61511bed9fafa7c495a3</id>
<content type='text'>
xfstests generic/083 fills the filesystem almost completely while
running fsstress in parallel. In fsck, these would show up:

  readFileID 2580: incomplete file, got 18 instead of 19 bytes

This could happen when writing the file header works, but writing
the actual data fails.

Now we kill the header again by truncating the file to zero.
</content>
</entry>
<entry>
<title>fusefrontend: add File.SeekData() function</title>
<updated>2018-07-01T18:56:22+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2018-07-01T17:13:28+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=e951043084937c42421debf457e33b3db3b5bac4'/>
<id>urn:sha1:e951043084937c42421debf457e33b3db3b5bac4</id>
<content type='text'>
This function will enable "gocryptfs -fsck" to handle
sparse files efficiently.
</content>
</entry>
</feed>
