libgocryptfs/pathfs_frontend
Jakob Unterwurzacher 4c9e249e3a Convert fdLock to an RWMutex and protect the whole transaction
...against concurrent closes.

The testcase

	(set -e; while true; do truncate -s $RANDOM b; done) &
	(set -e; while true; do truncate -s $RANDOM b; done) &

uncovered lots of unnecessary RMW failures that were the result
of concurrent closes.

With this patch, the only remaining error is "Truncate on forgotten file"
that is probably caused by a problem in the go-fuse lib
( https://github.com/hanwen/go-fuse/issues/95 )
2016-01-25 00:51:28 +01:00
..
args.go Increase GCM IV size from 96 to 128 bits 2015-12-19 15:02:29 +01:00
compat_darwin.go OSX: Fix build failure caused by syntax errors 2016-01-09 13:04:48 +01:00
compat_linux.go Disable fallocate on OSX (not available and causes a build failure) 2016-01-07 21:39:41 +01:00
file.go Convert fdLock to an RWMutex and protect the whole transaction 2016-01-25 00:51:28 +01:00
file_holes.go diriv: handle directory rename over directory 2015-12-19 13:21:15 +01:00
fs.go Only warn once for unsupported fallocate(2) and truncate(2) 2016-01-24 19:43:21 +01:00
fs_dir.go Convert logging to standard Go log.Logger 2016-01-20 20:57:00 +01:00
names.go go fmt 2015-12-13 20:24:13 +01:00
write_lock.go Add per-inode write mutex 2016-01-24 13:08:08 +01:00