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
..
2018-04-02 18:32:30 +02:00
2017-05-31 08:21:36 +02:00
2018-07-01 22:00:06 +02:00
2017-04-29 14:50:58 +02:00
2017-04-29 14:50:58 +02:00
2018-07-01 20:56:22 +02:00