mirror of
https://github.com/versity/scoutfs.git
synced 2026-07-24 17:12:51 +00:00
7cf8d01c1b92e2f679c1eff9d30dd568ea27a3b9
The conversion to reading the super with buffer_head IO caused racing readers to risk spurious errors. Clearing uptodate to force device access could race with a current waking reader. They could wake and find uptodate cleared and think that an IO error had occurred. The buffer_head functions generally require higher level serialization of this kind of use of the uptodate bit. We use bh_private as a counter to ensure that we don't clear uptodate while there are active readers. We then also use a private buffer_head bit to satisfy batches of waiting readers with each IO. Signed-off-by: Zach Brown <zab@versity.com>
Description
No description provided
6.8 MiB
Languages
C
86.3%
Shell
10%
Roff
2.5%
TeX
0.8%
Makefile
0.4%