<feed xmlns='http://www.w3.org/2005/Atom'>
<title>gocryptfs/internal/fusefrontend/write_lock.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>2017-04-29T20:24:38+00:00</updated>
<entry>
<title>fusefrontend: rename write_lock.go -&gt; open_file_table.go</title>
<updated>2017-04-29T20:24:38+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2017-04-02T19:32:01+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=863c3ca36fe756767ad2f86348a0646f2e7a09a5'/>
<id>urn:sha1:863c3ca36fe756767ad2f86348a0646f2e7a09a5</id>
<content type='text'>
The data structure was originally called write lock table, but
is now simply called the open file table. Rename the file to
reflect that.
</content>
</entry>
<entry>
<title>Fix golint warnings, add helper script</title>
<updated>2016-11-17T22:40:03+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2016-11-17T22:40:03+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=6f475da116edb7a86a809a25b6b47c70805ba219'/>
<id>urn:sha1:6f475da116edb7a86a809a25b6b47c70805ba219</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fusefrontend: get the file ID from the open files table</title>
<updated>2016-11-17T21:29:45+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2016-11-17T21:29:45+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=0489d08ae21107990d0efd0685443293aa26b35f'/>
<id>urn:sha1:0489d08ae21107990d0efd0685443293aa26b35f</id>
<content type='text'>
This fixes the problem that a truncate can reset the file
ID without the other open FDs noticing it.
</content>
</entry>
<entry>
<title>fusefrontend: upgrade wlockMap to use device AND inode number</title>
<updated>2016-11-17T19:32:19+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2016-11-17T19:32:19+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=e04dc050126edcf7440ea5412bc74c6ad8b42e95'/>
<id>urn:sha1:e04dc050126edcf7440ea5412bc74c6ad8b42e95</id>
<content type='text'>
If there are multiple filesystems backing the gocryptfs filesystems
inode numbers are not guaranteed to be unique.
</content>
</entry>
<entry>
<title>ctlsock: add initial limited implementation</title>
<updated>2016-11-09T23:27:08+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2016-11-09T23:27:08+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=75ebb28a625bc16d145f5acd9e0cc1d305716afe'/>
<id>urn:sha1:75ebb28a625bc16d145f5acd9e0cc1d305716afe</id>
<content type='text'>
At the moment, in forward mode you can only encrypt paths
and in reverse mode you can only decrypt paths.
</content>
</entry>
<entry>
<title>fusefronted: optimize NFS streaming writes by saving one Stat()</title>
<updated>2016-10-28T19:17:53+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2016-10-25T21:57:30+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=a08d55f42d5b11e265a8617bee16babceebfd026'/>
<id>urn:sha1:a08d55f42d5b11e265a8617bee16babceebfd026</id>
<content type='text'>
Stat() calls are expensive on NFS as they need a full network
round-trip. We detect when a write immediately follows the
last one and skip the Stat in this case because the write
cannot create a file hole.

On my (slow) NAS, this takes the write speed from 24MB/s to
41MB/s.
</content>
</entry>
<entry>
<title>fusefrontend: simplify wlockMap</title>
<updated>2016-05-29T20:40:05+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2016-05-29T20:40:05+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=77813bdc13118fd08bbff7a68c9d5268080a2a15'/>
<id>urn:sha1:77813bdc13118fd08bbff7a68c9d5268080a2a15</id>
<content type='text'>
mapMutex can be anonymous and using an RWMutex is overkill
because the lock protects very short sections.
</content>
</entry>
<entry>
<title>Move pathfs_frontend to internal/fusefrontend</title>
<updated>2016-02-06T18:27:59+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2016-02-06T18:27:59+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=9078a77850dd680bfa938d9ed7c83600a60c0e7b'/>
<id>urn:sha1:9078a77850dd680bfa938d9ed7c83600a60c0e7b</id>
<content type='text'>
"git status" for reference:

renamed:    pathfs_frontend/args.go -&gt; internal/fusefrontend/args.go
renamed:    pathfs_frontend/compat_darwin.go -&gt; internal/fusefrontend/compat_darwin.go
renamed:    pathfs_frontend/compat_linux.go -&gt; internal/fusefrontend/compat_linux.go
renamed:    pathfs_frontend/file.go -&gt; internal/fusefrontend/file.go
renamed:    pathfs_frontend/file_holes.go -&gt; internal/fusefrontend/file_holes.go
renamed:    pathfs_frontend/fs.go -&gt; internal/fusefrontend/fs.go
renamed:    pathfs_frontend/fs_dir.go -&gt; internal/fusefrontend/fs_dir.go
renamed:    pathfs_frontend/names.go -&gt; internal/fusefrontend/names.go
renamed:    pathfs_frontend/write_lock.go -&gt; internal/fusefrontend/write_lock.go
modified:   main.go
</content>
</entry>
</feed>
