NAME
gefs – file server

SYNOPSIS
gefs [ –ASRsc ] [ –r user ] [ –f file ] [ –m mem ] [ –n name ] [ –a ann ] ...

DESCRIPTION

Gefs is an experimental file server. It attempts to be crash safe, snapshotting, and corruption–detecting, without giving up too much performance. Gefs makes use of concurrent processes, the allocation of which is determined by reading $NPROC.

Gefs allows multiple snapshots to be mounted and maintained concurrently. These snapshots all share the same storage pool, but can be written to, snapshotted, and rolled back independently.

The snapshot to mount is selected by using the attach specifier when mounting. If the attach specifier begins with a % sigil, then the snapshot is mounted in permissive mode. In permissive mode, permissions are not checked, and wstat(5) may change any attributes of any file including the owner. Unless the file system is started with the permissive flag, only users in the adm group may mount snapshots permissively.

Gefs accepts the following options:
A    Disable auth. Permissions are still checked, but anyone will be able to attach as any user.
a ann
Announce and listen on the specified network address.
c    Check the integrity of the file system and exit.
f file
Use file as the disk.
g    Grow the file system to fill the current partition. When the file system has been grown, exit. This must not be run on a mounted file system.
m mem
Specify the amount of memory to use as cache. The mem parameter recognizes M, G, and % as suffixes. If left unspecified, it defaults to 25% of installed RAM.
n name
Use name as the name of the service. If unspecified, the default service name is gefs.
R    Mounts file system read–only. No modifications will be made to the disk.
r user
Ream the file system, erasing all of the old data. Create a user named user in the adm group. After reaming, gefs will exit.
S    Allow permissive mounts for all users. Additionally, if the user file is unreadable, fall back to the default user table. Without god, all things are permitted.
s    Read and write protocol messages on standard file descriptors zero and one.
t    Set the size of the trace buffer in megabytes. If set to 0, no debug traces are recorded. By default, 16 megabytes of trace buffer are kept.

EXAMPLES

Mount snapshots gefs from the partition /dev/sdE0/fs onto a few different mountpoints. The main snapshot is mounted to /n/gefs. The sys snapshot is mounted to /n/gefs/sys. And finally, the adm snapshot is mounted in permissive mode to /n/adm.
gefs –f /dev/sdE0/fs
mount /srv/gefs /n/gefs
mount /srv/gefs /n/gefs/sys sys
mount /srv/gefs /n/adm %adm

Initialize a new file system on a device. Note, this assumes the disk has already been prepared with prep(8), and a fs partition has been created.
gefs –r $user –f /dev/sdE0/fs

SEE ALSO
cwfs(4), hjfs(4), gefs(8), prep(8), sd(3)

BUGS
Yes