libgocryptfs/internal
Jakob Unterwurzacher f316f1b2df fusefronted: disallow writes running concurrently with reads
As uncovered by xfstests generic/465, concurrent reads and writes
could lead to this,

  doRead 3015532: corrupt block #1039: stupidgcm: message authentication failed,

as the read could pick up a block that has not yet been completely written -
write() is not atomic!

Now writes take ContentLock exclusively, while reads take it shared,
meaning that multiple reads can run in parallel with each other, but
not with a write.

This also simplifies the file header locking.
2018-07-22 22:29:22 +02:00
..
configfile Only print masterkey once on -init 2018-07-01 20:56:22 +02:00
contentenc contentenc: reserve one extra block in pool plaintext buffers 2018-07-15 11:39:19 +02:00
cryptocore tlog: stop embedding log.Logger to prevent mistakes 2018-02-28 09:02:18 +01:00
ctlsock fsck: clean up log output 2018-04-02 18:32:30 +02:00
exitcodes trezor: add skeleton for Trezor support 2018-07-01 20:56:04 +02:00
fusefrontend fusefronted: disallow writes running concurrently with reads 2018-07-22 22:29:22 +02:00
fusefrontend_reverse darwin does not have PATH_MAX 2018-06-08 00:47:48 +02:00
nametransform fusefrontend: doWrite: delete file header if first write fails 2018-07-15 15:12:55 +02:00
openfiletable fusefronted: disallow writes running concurrently with reads 2018-07-22 22:29:22 +02:00
pathiv pathiv: fix test failure on Go 1.6 2017-05-31 08:21:36 +02:00
prefer_openssl prefer_openssl: default to Go GCM on OSX 2016-12-10 21:04:17 +01:00
readpassword Fix golint warnings 2018-07-01 22:00:06 +02:00
serialize_reads fix golint complaints 2017-04-29 14:50:58 +02:00
siv_aead siv_aead: create private key copy and implement wiping 2018-02-18 16:01:46 +01:00
speed fix golint complaints 2017-04-29 14:50:58 +02:00
stupidgcm stupidgcm: return error on too short input instead of panicing 2018-05-10 23:00:02 +02:00
syscallcompat fusefrontend: doWrite: delete file header if first write fails 2018-07-15 15:12:55 +02:00
tlog Only print masterkey once on -init 2018-07-01 20:56:22 +02:00