diff options
| author | eunhhu <[email protected]> | 2026-09-26 05:39:47 +0100 |
|---|---|---|
| committer | eunhhu <[email protected]> | 2026-09-26 05:39:47 +0100 |
| commit | e4bc782d09fe1c80098a38380b3959863dfe188f (patch) | |
| tree | ee8445499e0ef7cabb778811c89de38666d9eff8 /docs/design/check-abi-layout.py | |
| parent | f0bec42645aa845d1c1d71c6e18ac1521e808fcc (diff) | |
| download | pure-e4bc782d09fe1c80098a38380b3959863dfe188f.tar.gz pure-e4bc782d09fe1c80098a38380b3959863dfe188f.zip | |
Add a store handle that shares one mapping
Opening a draft by path opened the directory and the file, mapped the
whole file, read the head, and undid all of it on close: nine system
calls for every GET. pure_store_open keeps the store open for one owner
thread; drafts opened through it share a reference-counted mapping of the
newest version, and opening one only checks whether the file changed (its
identity and its head: two system calls). A commit of its drafts maps the
new version once and moves them all onto it. A compaction by another
writer is noticed and followed, while drafts of the old file keep reading
it and relocate their extents when they commit.
pure_store_data gives modules the same through a handle.
Diffstat (limited to 'docs/design/check-abi-layout.py')
0 files changed, 0 insertions, 0 deletions
