* [9front] The great experimental file shredder
@ 2022-01-23 23:42 ori
0 siblings, 0 replies; only message in thread
From: ori @ 2022-01-23 23:42 UTC (permalink / raw)
Gefs is a new file system for plan 9. It aims to be a
crash-safe, corruption-detecting, performant, and
simple file system that supports modern file systems
Here's a summary of the internals:
Here's the code:
This will allow you to write /adm/users and add your
Currently, it is EXTREMELY experimental. The disk
format is NOT stable, and until it's more battle
tested, there will be NO attempt to keep compatibility
between format changes. Writes are currently extremely
slow, due to implementation shortcuts that haven't yet
been worked thorugh.
However, it's ready for help: The code seems to work,
but it needs testing.
Gefs is designed to support a number of features that
you'd expect from a modern file system: It's copy on
write, crash safe, corruption detecting, snapshotting,
and reasonably performant.
That said, there are a number of known issues with the
current implementation, which need to be fixed before
the file system goes live:
- We are missing a fsck. The 'check' command on the
console exists, but is incomplete.
- Writes are synchronous, and therefore slow.
- The allocation log is not recompressed while the
file system is running.
- It takes allocation log blocks to record data
deletion. If the file system gets full, we have
no blocks to record freeing data.
- OEXEC does not yet take implicit snapshots.
- The fs console is incomplete.
- Many optimizations are not yet implemented. Things
are slower than they should be.
- The cache is allocated with malloc. The max size
is therefore limited, and more global locks than
necessary are taken.
- It needs testing.
I'll be working on all of this, but I'm ready to
take bug reports, patches, and code review.
With all that in mind, if you want to try it out,
you can either use a real disk, or an image:
dd -if /dev/zero -of test.fs -bs 1kk -count 4k
First, ream the disk:
gefs -r $disk
Then set up the user directories so that authentication
gefs -A -u glenda $disk
mount /srv/gefs /n/gefs
cp /adm/users /n/gefs/adm/users
echo sync >> /srv/gefs.cmd
kill gefs | rc
Then, run it:
Thanks, and happy file shredding!
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2022-01-23 23:50 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-01-23 23:42 [9front] The great experimental file shredder 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).