<feed xmlns='http://www.w3.org/2005/Atom'>
<title>gocryptfs/internal/nametransform, branch v1.7-rc1</title>
<subtitle>Mirror of gocryptfs source code on Github</subtitle>
<id>http://nuetzlich.net/cgit/gocryptfs/atom?h=v1.7-rc1</id>
<link rel='self' href='http://nuetzlich.net/cgit/gocryptfs/atom?h=v1.7-rc1'/>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/'/>
<updated>2019-01-04T00:23:44+00:00</updated>
<entry>
<title>A few more spelling fixes.</title>
<updated>2019-01-04T00:23:44+00:00</updated>
<author>
<name>Sebastian Lackner</name>
</author>
<published>2019-01-03T20:08:49+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=ab169443fde9c6697b5b9dc010691cbc61cd5206'/>
<id>urn:sha1:ab169443fde9c6697b5b9dc010691cbc61cd5206</id>
<content type='text'>
Found with the 'codespell' utility.
</content>
</entry>
<entry>
<title>nametransform: Add implicit syscall.O_RDONLY flag.</title>
<updated>2019-01-03T17:24:05+00:00</updated>
<author>
<name>Sebastian Lackner</name>
</author>
<published>2019-01-03T16:51:23+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=61241b05889bda6e70446eab571f138d5d6f6c20'/>
<id>urn:sha1:61241b05889bda6e70446eab571f138d5d6f6c20</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fusefrontend: add dirCache</title>
<updated>2019-01-03T14:31:13+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2019-01-02T21:32:21+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=4f66d66755da63c78b09201c6c72353009251cf2'/>
<id>urn:sha1:4f66d66755da63c78b09201c6c72353009251cf2</id>
<content type='text'>
</content>
</entry>
<entry>
<title>nametransform: simplify WriteDirIV to WriteDirIVAt</title>
<updated>2019-01-03T14:31:13+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2019-01-03T12:32:13+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=f6dad8d0fae25b5d88ad036b841fea10b7296ccb'/>
<id>urn:sha1:f6dad8d0fae25b5d88ad036b841fea10b7296ccb</id>
<content type='text'>
Un-spaghettify the function and let the callers open
the directory.
</content>
</entry>
<entry>
<title>fusefronted: make EncryptPath symlink-safe</title>
<updated>2019-01-02T20:45:40+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2019-01-02T20:45:40+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=2b12bba274ba75f76ac8c2af3790e4190b32396f'/>
<id>urn:sha1:2b12bba274ba75f76ac8c2af3790e4190b32396f</id>
<content type='text'>
Finally allows us to delete EncryptPathDirIV.
</content>
</entry>
<entry>
<title>nametransform: fix possible incomplete read in ReadLongNameAt</title>
<updated>2019-01-01T23:09:17+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2019-01-01T23:07:20+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=d99a0480f712d4fd1c2012c57a9e1c938d70c9fe'/>
<id>urn:sha1:d99a0480f712d4fd1c2012c57a9e1c938d70c9fe</id>
<content type='text'>
Pread() needs retry logic, so instead of implementing it ourselves,
use os.File.

Reported by @slackner at
https://github.com/rfjakob/gocryptfs/commit/c09bf1f2284706232642431c75fa1f3d8500a9d0#r31813394
</content>
</entry>
<entry>
<title>nametransform: rename WriteLongName() -&gt; WriteLongNameAt()</title>
<updated>2019-01-01T15:24:25+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2018-11-04T21:05:38+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=2de3851abddd26949b72b9b255ce836fc93ed284'/>
<id>urn:sha1:2de3851abddd26949b72b9b255ce836fc93ed284</id>
<content type='text'>
And also rename DeleteLongName() -&gt; DeleteLongNameAt(). The
naming follow the names open the openat() etc syscalls.
</content>
</entry>
<entry>
<title>fusefrontend: make OpenDir() symlink-safe</title>
<updated>2019-01-01T15:24:25+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2018-11-04T20:46:51+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=21f1f858b9bebb20fdb9bb3f99189279bb6c6976'/>
<id>urn:sha1:21f1f858b9bebb20fdb9bb3f99189279bb6c6976</id>
<content type='text'>
Interestingly, little or no performance impact:

$ ./benchmark.bash
Testing gocryptfs at /tmp/benchmark.bash.39W: gocryptfs v1.6-42-g30c2349-dirty; go-fuse v20170619-66-g6df8ddc; 2018-11-04 go1.11
Downloading linux-3.0.tar.gz
/tmp/linux-3.0.tar.gz                  100%[=========================================================================&gt;]  92.20M  2.93MB/s    in 31s
2018-11-04 21:44:44 URL:https://cdn.kernel.org/pub/linux/kernel/v3.0/linux-3.0.tar.gz [96675825/96675825] -&gt; "/tmp/linux-3.0.tar.gz" [1]
WRITE: 262144000 bytes (262 MB, 250 MiB) copied, 1.1808 s, 222 MB/s
READ:  262144000 bytes (262 MB, 250 MiB) copied, 0.866438 s, 303 MB/s
UNTAR: 24.745
MD5:   12.050
LS:    3.525
RM:    9.544

Note: kernel has been updated:

$ uname -a
Linux brikett 4.18.16-200.fc28.x86_64 #1 SMP Sat Oct 20 23:53:47 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
</content>
</entry>
<entry>
<title>fusefrontend: mark a few more functions as symlink-safe / unsafe</title>
<updated>2019-01-01T15:24:25+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2018-11-04T20:29:17+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=de3a2c189578f7636c39fde44fbe1da9c78b367e'/>
<id>urn:sha1:de3a2c189578f7636c39fde44fbe1da9c78b367e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fusefrontend: make openBackingDir() symlink-safe</title>
<updated>2019-01-01T15:24:09+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2018-10-14T18:11:49+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=932efbd4593fe6be6c86f0dafeaea32910b7c246'/>
<id>urn:sha1:932efbd4593fe6be6c86f0dafeaea32910b7c246</id>
<content type='text'>
openBackingDir() used encryptPath(), which is not symlink-safe
itself. Drop encryptPath() and implement our own directory walk.

Adds three seconds to untar and two seconds to rm:

$ ./benchmark.bash
Testing gocryptfs at /tmp/benchmark.bash.MzG: gocryptfs v1.6-36-g8fb3c2f-dirty; go-fuse v20170619-66-g6df8ddc; 2018-10-14 go1.11
WRITE: 262144000 bytes (262 MB, 250 MiB) copied, 1.25078 s, 210 MB/s
READ:  262144000 bytes (262 MB, 250 MiB) copied, 1.0318 s, 254 MB/s
UNTAR: 20.941
MD5:   11.568
LS:    1.638
RM:    5.337
</content>
</entry>
</feed>
