Commit Graph

13 Commits

Author SHA1 Message Date
Miroslav Crnic
768072e054 kmod: remove block service cache
With reduced span cache time the block service cache
is no longer needed. We also don't need to fetch
changed block services from registry as we'll get
it as part of span fetches.
2025-12-09 15:34:09 +00:00
Joshua Leahy
7a4e466ac6 Make TernFS open source 2025-09-17 18:20:23 +01:00
Miroslav Crnic
92d25d04da shuckle: rename to registry prepare for replace 2025-09-08 08:59:08 +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
a512f07da1 Use DNS to reach shuckle, kill shuckle beacon 2025-05-29 13:40:21 +00:00
Miroslav Crnic
a691e78392 kmod: do fstat on 1 min timer and cache it 2024-10-09 15:23:11 +01:00
Saulius Grusnys
8c4bd4d9e6 [kmod] add ability to read single page from blockservice (#300)
* [kmod] add ability to read single page from blockservice

* Update kmod/span.c

Co-authored-by: Miroslav Crnic <miroslav.crnic@xtxmarkets.com>

---------

Co-authored-by: Miroslav Crnic <miroslav.crnic@xtxmarkets.com>
2024-08-21 15:50:28 +01:00
Miroslav Crnic
3fa23790bd kmod: periodically fetch block services with changed flags 2024-07-24 13:11:53 +01:00
Francesco Mazzoli
488f096eb9 Stat files/directories speculatively on readdir
Also, split the timeouts for dentries and for stats. We generally
don't care if stats are out of dates, but dentries should be up
to date.

The code leaves various aspects to be desired:

* No attempt is made to only send stats when needed -- it is always
    done. It might be a good idea to instead wait for the first two
    stats to come back.

* Theres quite a bit of code duplication.

* It's pretty wasteful to have so many different packets for the
    stats. It'd be much better to pack multiple requests and multiple
    responses in single packets.

    This could be done simply by allowing many requests to come
    in the same packet (just one after the other would be fine),
    and same for the responses. We can still use the protocol and
    request id to keep track of things anyway.
2024-03-19 20:29:23 +00:00
Andrew Chen
0834c83e5c kmod: add mount options to set permissions: uid, gid, dmask, fmask 2023-12-22 10:23:09 +00:00
Saulius Grusnys
2ce5586eb9 Periodically refresh metadata info in kmod, use two IPs for shuckle
Fixes #112.

Co-authored-by: Francesco Mazzoli <francesco.mazzoli@xtxmarkets.com>
2023-11-14 13:49:36 +00:00
Francesco Mazzoli
55074b16b4 Implement fs stat
10.97.12.10:10001       29P  208T   29P   1% /home/restechprod/eggs/mnt
2023-05-29 18:49:50 +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