Commit Graph

12 Commits

Author SHA1 Message Date
Joshua Leahy
7a4e466ac6 Make TernFS open source 2025-09-17 18:20:23 +01:00
Joshua Leahy
99b56195ec Replace wyhash with something licensable
Unfortunately Lemire's wyhash code was licensed as Apache, we'd rather
have something compatible with GPLv2. This probably a more appropriate
choice anyway.
2025-09-11 13:12:40 +01:00
Joshua Leahy
05799dc1ed Fix gf_tables.py
The C file has been manually modified and does not match what is
autogenerated, this brings it back into sync.
2025-09-04 12:43:44 +00:00
Francesco Mazzoli
110705db8d EggsFS -> TernFS rename
Things not done because probably disruptive:

* kmod filesystem string
* sysctl/debugfs/trace
* metrics names
* xmon instance names

Some of these might be renamed too, but starting with a relatively
safe set.
2025-09-03 09:29:53 +01:00
Francesco Mazzoli
f54727418f CPP hygiene, debug leftovers 2023-06-03 18:03:49 +00:00
Francesco Mazzoli
cd86e632e2 Implement RS recovery, although it won't really be used now...
...since it only relies on block service flags, and we don't
set them right now.
2023-06-03 17:27:54 +00:00
Francesco Mazzoli
efb92be31a Use bitmaps for RS recover API
The previous array was sort of silly, and particularly silly now
from the kernel.
2023-06-01 14:41:21 +00:00
Francesco Mazzoli
6addbdee6a First version of kernel module
Initial version really by Pawel, but many changes in between.

Big outstanding issues:

* span cache reclamation (unbounded memory otherwise...)
* bad block service detection and workarounds
* corrupted blocks detection and workaround

Co-authored-by: Paweł Dziepak <pawel.dziepak@xtxmarkets.com>
2023-05-18 15:29:41 +00:00
Francesco Mazzoli
5bff9b8fae Many, many changes -- tests pass, but FUSE is currently not present
The main thing that's added is full RS support, but a lot of things
were rejigged along the way. The tests are still a bit lacking,
and will be augmented in future commits.
2023-03-03 16:42:22 +00:00
Francesco Mazzoli
ae4ca721ee Simplify RS interface
Let's just care about blocks, and not about how to split the original
data.
2023-02-17 11:06:55 +00:00
Francesco Mazzoli
82cd4a3756 wip 2023-02-17 10:39:31 +00:00
Francesco Mazzoli
a387c6a0c8 Reed-Solomon library
Not optimized in the slightest, but the API should be mostly there.
2023-02-16 23:50:35 +00:00