1. Mechiel Lukkien
  2. nfssrv


# status

starting to become useable.

# intro

this package contains nfssrv and nfsfs, an nfs server and client,
for inferno and written in limbo.  it uses and comes with a library
for parsing/packing nfs protocol messages.  a portmapper and mnt
service is included too.  only nfs version 3 is supported, and only
the operations that make sense on inferno (e.g. no (sym)links or
special files).  see the manual pages for more information.

# install

first install "util".

modify mkconfig if you don't have $ROOT set.  now "mk install" to
compile and install the files.

when building from within inferno, insert SYSHOST=Inferno and ROOT=
in the mk invocations to override the values in the mkconfig.

# latest version

the latest version can be found at:


# licence & author

all files are in the public domain.  this code has been written by
mechiel lukkien, reachable at mechiel@ueber.net or mechiel@xs4all.nl.

# todo

- nfsfs: determine if we need to do some verification (cookies)
- nfsfs: should we use restricted ports?
- nfssrv: don't allow creates with createverf?  or implement the verifier-in-metadata dance.
- nfssrv: implement worker threads and allow responding to messages out of order?
- nfssrv: rpc message should hold source address (ip, port, proto)
- nfssrv: always put qid.path in file handle?  for non-qidpath-mode, we can verify the file hasn't been renamed.
- nfssrv: find out why openbsd does lookup for each file in readdirplus.  we already send attributes and file handle.  it seems openbsd gets confused with committed writes as well, rewriting part of the writes with immediate syncing...