diff options
author | Jakob Unterwurzacher | 2016-01-25 00:51:28 +0100 |
---|---|---|
committer | Jakob Unterwurzacher | 2016-01-25 00:51:28 +0100 |
commit | 4c9e249e3ac1fc2995e01eb1ed24799c3a3bc66b (patch) | |
tree | 97a9eb498ef70a3c00dd7bd8fafb4765abeecf5b /internal/fusefrontend/write_lock.go | |
parent | 4259c8f7ebc9f5d167556ed142e82e8232706de6 (diff) |
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 )
Diffstat (limited to 'internal/fusefrontend/write_lock.go')
0 files changed, 0 insertions, 0 deletions