Kfs
is an old, local user-level file server for a Plan 9 terminal with a disk.
It maintains a hierarchical Plan 9 file system on the disk
and offers
9P (see
intro(5))
access to it.
Kfs
begins by
checking the file system for consistency,
rebuilding the free list, and placing a file descriptor in
/srv/name,
where
name
is the service name (default
kfs).
If the file system is inconsistent,
the user is asked for permission to ream
(q.v.)
the disk.
The file system is not checked if it is reamed.
The options are
b n
If the file system is reamed, use
n
byte blocks.
Larger blocks make the file system faster
and less space efficient.
1024
and
4096
are good choices.
N
must be a multiple of 512.
c
Do not check the file system.
f file
Use
file
as the disk.
The default is
/dev/sdC0/fs.
n name
Use
kfs.name
as the name of the service.
p perm
Use
perm
as the initial permissions for the
command channel
/srv/service.cmd;
the default is 660.
r
Ream the file system, erasing all of the old data
and adding all blocks to the free list.
s
Post file descriptor zero in
/srv/service
and read and write protocol messages on file descriptor one.
B
Allocate
nbuf
in-memory file system blocks.
The default is as many as will fit in 10% of memory
or two megabytes, whichever is smaller.
EXAMPLES
Create a file system with service name
kfs.local
and mount it on
/n/kfs.
% disk/kfs -rb4096 -nlocal
% mount -c /srv/kfs.local /n/kfs
For the moment,
kfs
serves both the old (third edition) and new (fourth
edition) versions of 9P, deciding which to serve by sniffing the first packet on each
connection.
Kfs
doesn't allow creating files with component names longer than 28 bytes.