Skip to content

Commit

Permalink
Raise two more points in response to comments
Browse files Browse the repository at this point in the history
Thanks @cbrewster
  • Loading branch information
Ericson2314 committed Jun 14, 2023
1 parent a32a238 commit fa72f1c
Showing 1 changed file with 2 additions and 0 deletions.
2 changes: 2 additions & 0 deletions rfcs/0000-local-overlay-store.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ Each has serious drawbacks:
- "Share nothing" wastes tons of space as many duplicate store objects are stored separately.

- "Share everything" incurs major overhead from synchronization, even if consumers are making store objects they don't intend any other consumer to use.
It also poses an inflexible security model where the actions of one consumer effect all of them.

- Overlay everything cannot take advantage of new store objects added to the lower store, because its "fork" of the DB covers up the lower store's.
(Furthermore, separate files from the DB proper like an out of date SQLite Write-Ahead-Logging (WAL) file *could* leak through, causing chaos.)
Expand Down Expand Up @@ -359,6 +360,7 @@ This gives a normal form in that objects are bind-mounted if and only if they ha
There is no "have store object, don't yet have DB entry" middle state to worry about.

The downside of this is that Nix needs elevate permissions in order to create those bind mounts, and the impact of having arbitrarily many bind mounts is unknown.
Even if this design works fine once set up, the imposition of an O(n) initialization setting up each bind mount is prohibitive for many use-cases.

## Store implementations using FUSE

Expand Down

0 comments on commit fa72f1c

Please sign in to comment.