When a network partition is combined with a server reboot, there are edge conditions that can cause the server to grant lock reclaims when other clients have taken conflicting locks in the interim. A more detailed explanation of this issue is described in RFC 3530, section 8.6.3.
In order to prevent these problems, the server must track a small amount of per-client information on stable storage. This daemon provides the userspace piece of that functionality.
- -d, --debug
- Enable debug level logging.
- -F, --foreground
- Runs the daemon in the foreground and prints all output to stderr
- -p path, --pipefsdir=path
- Location of the rpc_pipefs filesystem. The default value is /var/lib/nfs/rpc_pipefs.
- -s storage_dir, --storagedir=storage_dir
- Directory where stable storage information should be kept. The default value is /var/lib/nfs/nfsdcld.
- Equivalent to -s/--storagedir.
- Setting "debug = 1" is equivalent to -d/--debug.
In addition, the following value is recognized from the [general] section:
- Equivalent to -p/--pipefsdir.
This daemon requires a kernel that supports the nfsdcld upcall. If the kernel does not support the new upcall, or is using the legacy client name tracking code then it will not create the pipe that nfsdcld uses to talk to the kernel.
This daemon should be run as root, as the pipe that it uses to communicate with the kernel is only accessable by root. The daemon however does drop all superuser capabilities after starting. Because of this, the storagedir should be owned by root, and be readable and writable by owner.