9front - general discussion about 9front
 help / color / mirror / Atom feed
* [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).