Cfs
is a user-level file server that caches data from remote
files onto a local disk.
It is normally started by the kernel at boot time, though users may start
it manually.
Cfs
is interposed between the kernel and a network connection to a
remote file server to improve the
efficiency of access across slow network connections such as modem
lines.
On each open of a file
cfs
checks the consistency of cached information and discards any old
information for that file.
Cfs
mounts onto
mtpt
(default
/)
after connecting to the file server.
The options are:
- a netaddr
- dial the destination
netaddr
to connect to a remote file server.
Exclusive with
-F.
- d
- turn on debugging.
- f partition
- use file
partition
as the cache disk partition.
- F srvfile
- open
srvfile
(often a file under
/srv)
to connect to a remote file server.
Exclusive with
-a.
- k
- keep cache contents even if they might have come from a different server.
Cfs
will obey
-r
even if
-k
is given.
- n
- mount the remote file server without authentication;
often useful with
-F.
- r
- reformat the cache disk partition.
- s
- the connection to the remote file server is on file
descriptors 0 and 1.
- S
- turn on statistics gathering. A file called
cfsctl
at the root of the caching file system can be read to get
statistics concerning number of calls/bytes on client and server
sides and latencies.
All 9P messages except
read,
clone,
and
walk
(see
intro(5))
are passed through
cfs
unchanged to the remote server.
If possible, a
read
is satisfied by cached data.
Otherwise, the file server is queried for any missing data.