Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Overhaul filesystem store to no longer use renameat2
This PR introduces a massive overhaul to remove the dependency on renameat2 as well as fix bugs in the process. The bugs found are: * unref() was not being called when insert() replaced an item * Various extremely unlikely corner cases around files being created, replaced, deleted * Edge case where the contents of a FileEntry could use the wrong data on data replacement (although very unlikely). The paradigm of "FileEntry" entries and it's corresponding file are now full immutable, meaning if the file gets replaced it will generate a new FileEntry and shuffle the files around so both may be read uninterrupted at any point. fixes: 106
- Loading branch information