* [9front] gefs: future work
@ 2024-05-19 0:54 ori
0 siblings, 0 replies; only message in thread
From: ori @ 2024-05-19 0:54 UTC (permalink / raw)
To: 9front
While gefs is landed, it's far from finished.
There are a few chunks of future work that I would
like to get done:
- repair tools; right now, we can check for corruption,
but more would be welcome. there's also nothing to fix
corruption if it's detected.
- storing small files inline; there's no need to
create a new block if the file is smaller than
the maximum size of a value in the Bε tree.
- merging/annihilating messages early; right now,
all messages flush all the way down to the leaf
before being applied, but they could be merged
early; eg, a delete could eliminate an insert,
or a chain of mtime changes could be merged
into one.
- modifying the root block buffer in-place;
right now, the root block is copied for every
upsertion. With some care, an upsert can modify
the in-memory copy of the root block, which only
needs to be serialized and flushed on sync or when
it is full.
- custom snapshot timing; right now, snaps are either
taken automatically on a hard-coded schedule, or not
taken at all.
- microoptimization; right now, performance is ok,
but could be faster; measure and optimize.
- doing more eager space reclaim; getting back space
from deleted files is delayed, and we could do some
work in the sweeper to reclaim the space early.
I plan to hack on these as time permits, but at a
fairly low priority. Patches are welcome.
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2024-05-19 0:56 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-05-19 0:54 [9front] gefs: future work ori
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).