<feed xmlns='http://www.w3.org/2005/Atom'>
<title>gocryptfs/internal/syscallcompat/getdents_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>2022-08-28T09:11:36+00:00</updated>
<entry>
<title>make format</title>
<updated>2022-08-28T09:11:36+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2022-08-28T09:11:36+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=003a7fa2e53ac15d2c94a34102ae12b69b23c586'/>
<id>urn:sha1:003a7fa2e53ac15d2c94a34102ae12b69b23c586</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Unbreak hyperlinks broken by go mod v2 conversion</title>
<updated>2021-08-30T09:31:01+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2021-08-30T09:31:01+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=34d8a498c4899b1493f7bea16c22486d6725c9b1'/>
<id>urn:sha1:34d8a498c4899b1493f7bea16c22486d6725c9b1</id>
<content type='text'>
Commit

  69d88505fd7f4cb0d9e4f1918de296342fe05858 go mod: declare module version v2

translated all instances of "github.com/rfjakob/gocryptfs/" to
"github.com/rfjakob/gocryptfs/v2/".

Unfortunately, this included hyperlinks.

Unbreak the hyperlinks like this:

  find . -name \*.go | xargs sed -i s%https://github.com/rfjakob/gocryptfs/v2/%https://github.com/rfjakob/gocryptfs/v2/%
</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>syscallcompat: add GetdentsSpecial()</title>
<updated>2021-05-26T11:17:56+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2021-05-23T10:00:09+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=1b3c3b1347ef711ec38bb4c5cb14661035faf2ce'/>
<id>urn:sha1:1b3c3b1347ef711ec38bb4c5cb14661035faf2ce</id>
<content type='text'>
GetdentsSpecial calls then Getdents syscall,
with normal entries and "." / ".." split into two slices.
</content>
</entry>
<entry>
<title>syscallcompat: getdents: link to #483</title>
<updated>2021-03-14T13:43:11+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2021-03-14T13:43:11+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=f6036c429a35dff83bd01b3e867262cf7e8468ef'/>
<id>urn:sha1:f6036c429a35dff83bd01b3e867262cf7e8468ef</id>
<content type='text'>
Give a user receiving the Getdents warning some background info.
</content>
</entry>
<entry>
<title>syscallcompat: warn when Getdents truncates data</title>
<updated>2020-05-24T21:30:25+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2020-05-24T21:30:25+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=15ff79bf144cc8fe780bffdd7447dfbb5df604a8'/>
<id>urn:sha1:15ff79bf144cc8fe780bffdd7447dfbb5df604a8</id>
<content type='text'>
On CIFS mounts, unix.Getdents can return sudden ENOENT
in the middle of data. This will not be reported as an error
by user space tools, so return EIO instead.

Also log it as a warning.

https://github.com/rfjakob/gocryptfs/issues/483
</content>
</entry>
<entry>
<title>syscallcompat: getdents: retry on EINTR</title>
<updated>2020-05-23T20:54:23+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2020-05-23T20:54:23+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=25f1727de9e5681a5ceefe1516a5a01fa4ca624a'/>
<id>urn:sha1:25f1727de9e5681a5ceefe1516a5a01fa4ca624a</id>
<content type='text'>
Fixes: https://github.com/rfjakob/gocryptfs/issues/483
Related: https://github.com/golang/go/issues/38836
</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>syscallcompat: downgrade DT_UNKNOWN message level on XFS</title>
<updated>2018-11-17T16:44:21+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2018-11-17T16:44:21+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=e665df71795a3a4656f6eae70211bb59723cd01e'/>
<id>urn:sha1:e665df71795a3a4656f6eae70211bb59723cd01e</id>
<content type='text'>
Old XFS filesystems always return DT_UNKNOWN. Downgrade the message
to "info" level if we are on XFS.

Using the "warning" level means that users on old XFS filesystems
cannot run the test suite as it intentionally aborts on any
warnings.

Fixes https://github.com/rfjakob/gocryptfs/issues/267
</content>
</entry>
<entry>
<title>syscallcompat: switch from syscall.Getdents to unix.Getdents</title>
<updated>2018-01-31T17:59:10+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2018-01-31T17:59:10+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=26ba8103bf2422493a01b57b8ee53aa9b1e867f7'/>
<id>urn:sha1:26ba8103bf2422493a01b57b8ee53aa9b1e867f7</id>
<content type='text'>
On mips64le, syscall.Getdents() and struct syscall.Dirent do
not fit together, causing our Getdents implementation to
return garbage ( https://github.com/rfjakob/gocryptfs/issues/200
and https://github.com/golang/go/issues/23624 ).

Switch to unix.Getdents which does not have this problem -
the next Go release with the syscall package fixes is too
far away, and will take time to trickle into distros.
</content>
</entry>
</feed>
