Keywords: nfs

Next: The Kernel-Space NFS Server Up: Overview Previous: Overview

## The User-Space NFS Server

The Linux user-space NFS server is relatively easy to implement. It only uses the user-space RPC calls. It has several features:

- The directory hierarchy exported by the user-space NFS server mount points within an exported filesystem transparently; thus the client sees the same directory hierarchy as is seen from the server.

- Since the server is running in the user space, it is easy to do uid and gid mapping as well as access DNS, NIS, NIS+, etc.

However the user-space NFS server has some drawbacks:

- Since it is running in the user space, it has to do extra memory copy between user and kernel spaces. Also there is an overhead for context switch. They can be very expensive.

- There are no supports for NLM nor NSM. File and record locks are not available.

- The current implementation is not multithreaded which impacts its performance.

- Since the export control is initialized at the startup time, the server process has to be restarted when /etc/exports is changed.