<feed xmlns='http://www.w3.org/2005/Atom'>
<title>gocryptfs/internal/fusefrontend, branch v1.8.0</title>
<subtitle>Mirror of gocryptfs source code on Github</subtitle>
<id>http://nuetzlich.net/cgit/gocryptfs/atom?h=v1.8.0</id>
<link rel='self' href='http://nuetzlich.net/cgit/gocryptfs/atom?h=v1.8.0'/>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/'/>
<updated>2020-04-19T20:00:56+00:00</updated>
<entry>
<title>inomap: rework logic to efficiently support flags</title>
<updated>2020-04-19T20:00:56+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2020-04-19T19:57:53+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=9f9d59ded94f648202505e278f67667879e60be8'/>
<id>urn:sha1:9f9d59ded94f648202505e278f67667879e60be8</id>
<content type='text'>
Adding flags allows to use inomap in reverse mode,
replacing the clunky inoBaseDirIV/inoBaseNameFile
logic that causes problems with high underlying
inode numbers ( https://github.com/rfjakob/gocryptfs/issues/457 )

Microbenchmarks (values below) show that the "SingleDev"
case is now much slower due to an extra map lookup,
but this has no visible effects in ./test.bash results,
so there was no time spent optimizing the case further.

$ go test -bench=.
goos: linux
goarch: amd64
pkg: github.com/rfjakob/gocryptfs/internal/inomap
BenchmarkTranslateSingleDev-4   	18757510	        61.5 ns/op
BenchmarkTranslateManyDevs-4    	18061515	        64.5 ns/op
PASS
ok  	github.com/rfjakob/gocryptfs/internal/inomap	2.467s
</content>
</entry>
<entry>
<title>inomap: split into separate package</title>
<updated>2020-04-13T12:54:04+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2020-04-12T15:15:03+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=488111ce390218806fca933b89279b766f7ff49c'/>
<id>urn:sha1:488111ce390218806fca933b89279b766f7ff49c</id>
<content type='text'>
inomap will also be used by fusefrontend_reverse
in the future. Split if off openfiletable to make
it independent.
</content>
</entry>
<entry>
<title>fusefrontend: drop xattr user namespace restriction</title>
<updated>2020-02-29T19:12:43+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2020-02-29T18:58:08+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=ca9e912a28b901387e1dbb85f6c531119f2d5ef2'/>
<id>urn:sha1:ca9e912a28b901387e1dbb85f6c531119f2d5ef2</id>
<content type='text'>
We used to restrict setting xattrs to the "user."
namespace. I don't see a real reason for this
anymore, and it causes trouble for users who are using
acls.

Tests will be added in the next commit.

https://github.com/rfjakob/gocryptfs/issues/453
</content>
</entry>
<entry>
<title>fs: add uint64 cast to fix Darwin build</title>
<updated>2019-11-16T22:21:37+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2019-11-16T22:21:37+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=8ec804d825370ccf06fd9a7c6fb5589e3c2c17c2'/>
<id>urn:sha1:8ec804d825370ccf06fd9a7c6fb5589e3c2c17c2</id>
<content type='text'>
Error from Travis CI was:

 +GOOS=darwin
 +GOARCH=amd64
 +go build -tags without_openssl
 # github.com/rfjakob/gocryptfs/internal/fusefrontend
 internal/fusefrontend/fs.go:88:45: cannot use st.Dev (type int32) as type uint64 in argument to openfiletable.NewInumMap

Add uint64 to fix it.
</content>
</entry>
<entry>
<title>fusefrontend: use inummap</title>
<updated>2019-11-16T20:36:27+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2019-11-16T20:36:27+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=bb6155a51ff7a521d948ec58723d211bfaf8a731'/>
<id>urn:sha1:bb6155a51ff7a521d948ec58723d211bfaf8a731</id>
<content type='text'>
translate inode numbers on different devices to fix
collisions.

Fixes https://github.com/rfjakob/gocryptfs/issues/435
</content>
</entry>
<entry>
<title>fusefrontend: warn about missing diriv</title>
<updated>2019-11-03T19:38:15+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2019-11-03T19:38:15+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=e4148028af1f113bfdec00f3c577ef2d428a6aad'/>
<id>urn:sha1:e4148028af1f113bfdec00f3c577ef2d428a6aad</id>
<content type='text'>
The comment is outdated, at this point, we should
really not get any errors from ReadDirIVAt.

The change is best seen when running the fsck tests. Before:

  fsck: error opening dir "missing_diriv": 2=no such file or directory

After:

  OpenDir "K2m0E6qzIfoLkVZJanoUiQ": could not read gocryptfs.diriv: no such file or directory
  fsck: error opening dir "missing_diriv": 5=input/output error

See https://github.com/rfjakob/gocryptfs/issues/403 , where
the extra info would have been helpful.
</content>
</entry>
<entry>
<title>fusefrontend: don't return EIO on directory with corrupt file names</title>
<updated>2019-11-03T19:12:05+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2019-11-03T19:12:05+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=93939961f57e881f2b82293aa8749ea6f1ba6180'/>
<id>urn:sha1:93939961f57e881f2b82293aa8749ea6f1ba6180</id>
<content type='text'>
This was meant as a way to inform the user that
something is very wrong, however, users are hitting
the condition on MacOS due to ".DS_Store" files, and
also on NFS due to ".nfsXXX" files.

Drop the whole thing as it seems to cause more pain
than gain.

Fixes https://github.com/rfjakob/gocryptfs/issues/431
</content>
</entry>
<entry>
<title>fusefrontend: unregister from openfiletable before closing the fd</title>
<updated>2019-10-06T19:47:36+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2019-10-06T19:27:38+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=00af4f48643f0533b6cfbd14fdf5186c844f8f5d'/>
<id>urn:sha1:00af4f48643f0533b6cfbd14fdf5186c844f8f5d</id>
<content type='text'>
Closing the fd means the inode number may be reused immediately
by a new file, so we have to get the old fileID out of the table
beforehand!

Hopefully fixes https://github.com/rfjakob/gocryptfs/issues/363
</content>
</entry>
<entry>
<title>fusefrontend: print file hexdump on header error</title>
<updated>2019-10-06T17:37:51+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2019-10-06T17:36:04+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=43265940fa2d43ebea8edb00373aa4d6718e2ea7'/>
<id>urn:sha1:43265940fa2d43ebea8edb00373aa4d6718e2ea7</id>
<content type='text'>
This should help debugging https://github.com/rfjakob/gocryptfs/issues/363 ,
but does no harm in normal operation as it only prints ciphertext to the log.
</content>
</entry>
<entry>
<title>Fix -idle unmounting despite activity</title>
<updated>2019-09-08T14:29:20+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2019-09-08T14:29:20+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=0a4db7d9e9801a416602b52281537991ba1463c0'/>
<id>urn:sha1:0a4db7d9e9801a416602b52281537991ba1463c0</id>
<content type='text'>
Fixes https://github.com/rfjakob/gocryptfs/issues/421
</content>
</entry>
</feed>
