mirror of
https://github.com/versity/scoutfs.git
synced 2026-07-25 01:23:13 +00:00
b3b26939398dea9e90c6bc99bbc43f7fa4121103
We can work on shared mechanics without requiring a full locking server. We can stand up a simple layer which uses shared data structures in a kernel image to lock between mounts in the same kernel. On mount we add supers to a list. Held locks are tracked in a rbtree. A lock attempt blocks until it doesn't conflict with anything in the rbtree. As locks are acquired we walk all the other supers and write/invaludate any items they have which intersect with the acquired range. This is easier to implement and less efficient than caching locks after they're unlocked and implementing downconvert/blocking/revoke. Signed-off-by: Zach Brown <zab@versity.com>
Description
No description provided
6.9 MiB
Languages
C
86.3%
Shell
10%
Roff
2.5%
TeX
0.8%
Makefile
0.4%