Nfs-cfged [ 2026 ]

When a change is detected (e.g., you add a new export line), nfs-cfged performs the following:

All of this happens without restarting nfsd threads.

An automation tool (Ansible, Puppet) pushes a new export to 50 NFS servers simultaneously. nfs-cfged ensures each server picks up the change without triggering a thundering herd of mount disruptions. Nfs-cfged


nfs-cfged is not mandatory for basic NFSv3 or even simple NFSv4.0 setups. Many legacy systems run perfectly fine without it. However, if you are using:

…then nfs-cfged is critical.

You can disable it by setting nfs-cfged=0 in /etc/nfs.conf under the [nfsd] section, or by masking the socket activation unit: systemctl mask nfs-config-daemon.socket. But doing so will revert you to the old, static behavior.


Nfs-cfged treats those pain points as a single source-of-truth problem: define desired state once, apply it everywhere, and verify results automatically. When a change is detected (e

As of nfs-utils version 2.6.2 (2024), nfs-cfged is considered stable but is gradually being merged into a larger daemon called nfsdcld. The long-term roadmap for NFS in Linux suggests a unified "NFS control plane" daemon that handles configuration, client ID tracking, and layout management in a single process.

However, for the foreseeable future, nfs-cfged remains a critical component for any dynamic NFS server. All of this happens without restarting nfsd threads