NFS.CONF(5)                   File Formats Manual                  NFS.CONF(5)

NAME
     nfs.conf – The configuration file for NFS

SYNOPSIS
     nfs.conf

DESCRIPTION
     The nfs.conf file contains options used to specify NFS server and client
     configuration and tuning.

     Each line contains an option field and a value field, separated by an
     equals character '='.  For example:

           some.nfs.option = value

     Each line specifies a single option/value pair.  Whitespace can be used
     freely before and after fields.  A hash character '#' begins a comment
     that extends to the end of the line.  Lines containing only whitespace or
     comments are ignored.  The file format is intended to be easily read
     using functions like fparseln(3).  When a line is removed from nfs.conf
     file, the value remains to whatever it was set to when the line was added
     to nfs.conf file until the next reboot at which point it will be reset to
     default.

     Values are typically integers.  For options that enable/disable
     functionality the value zero (0) indicates the option is off/disabled and
     the value one (1) (or any other non-zero value) indicates the option is
     on/enabled.

     The options are:

     nfs.client.default_nfs4domain
              Sets the default NFSv4 domain name. If not set then string
              mappings are handed to opendirectoryd for resolution as is.
              Otherwise, if the domain name part of the string matches the
              NFSv4 domain set here, then the domain part is stripped off and
              then given to opendirectoryd for resolution.  See nfs(5) for
              details.

     nfs.client.access_cache_timeout
              How long (in seconds) that access(2) information is cached.  The
              default is 60 seconds.

     nfs.client.access_for_getattr
              This option specifies if access(2) information should be
              opportunistically fetched every time attributes are fetched.  A
              GETATTR request will only return attributes, but since ACCESS
              requests usually also return current attributes, a single ACCESS
              request may be used to fetch both access(2) information and
              attributes.  Enabling this may improve performance, but only if
              the ACCESS check on the server is inexpensive.  This may not be
              the case with many modern operating systems.  The default is 0
              (off).

     nfs.client.allow_async
              Allow the use of the -o async mount option.  This option must be
              enabled in order for the async mount option to be honored
              because (accidental) use of the async mount option may result in
              data loss if the server crashes.  The default is 0 (off).

     nfs.client.callback_port
              This option can be used to specify a port that the NFSv4
              callback RPC service should be available on.  The default value
              is unspecified, which means that any available port will be
              used.

     nfs.client.initialdowndelay
              When an NFS server is not responding, this option specifies how
              long to wait (in seconds) before the initial notification is
              posted.  The default is 12 seconds.

     nfs.client.iosize
              This option specifies what size (in bytes) the NFS client
              reports for the recommended I/O request size returned in stat(2)
              and statfs(2) calls.  The default value is 1048576 bytes.

     nfs.client.mount.options
              Mount options to be used for NFS file systems mounted via
              mount(8) / mount_nfs(8).  The value is in the same format as the
              argument for the -o mount option (a comma-separated string of
              options like: option1,option2=val,option3).  The default value
              is empty.  These options are processed by mount_nfs(8) prior to
              processing any other command-line options.  Therefore, mount
              options set in the NFS configuration file may be added to or
              overriden by additional command-line options.

     nfs.client.nextdowndelay
              When an NFS server is not responding, this option specifies how
              long to wait (in seconds) between notifications.  The default is
              30 seconds.

     nfs.client.nfsiod_thread_max
              The maximum number of NFS client asynchronous I/O (nfsiod)
              threads to use.  The default is 16.

     nfs.client.statfs_rate_limit
              The maximum number of times per second that an NFS client will
              send a "statfs" RPC request to an NFS server to retrieve up-to-
              date file system information.  Requests for this information
              that occur faster than this rate will receive cached values.
              The default value is 10 times per second.  A value of zero means
              no limit.

     nfs.client.mount_timeout
              Set the initial NFS mount connection timeout to the specified
              value.  The default value is 30 seconds.

     nfs.client.mount_quick_timeout
              Set the initial NFS quick mount connection timeout to the
              specified value.  The default value is 8 seconds. Quick mount
              timeout will be used for autofs mounts if mounted using zero
              retrycnt.

     nfs.client.is_mobile
              This option specifies if an NFS client is on a mobile machine.
              On a mobile machine, hard mounted file systems can be
              automatically forcibly unmounted if the following is met:
              •   The mount was automounted.
              •   The server is not responding.
              •   No files are open for writing.
              •   No files are memory mapped.
              •   There are no dirty pages associated with the mount.
              The default for this option is to let the system detect this. A
              non-zero value for this option treats this machine as a laptop
              with respect to NFS behavior and allows automatic forcible
              unmounting of unresponsive volumes described above. Conversely,
              a zero value treats the machine as a desktop for traditional NFS
              behavior, where hard mounts never time out. Setting a zero value
              is useful for laptops that are being used as desktops.

     nfs.client.uninterruptible_pagein
              Sets the behavior for nfs requests generated as a result of a
              page-in operation. If the value is set to 1, then nfs requests
              resulting from page-in operations will not pay attention to the
              relavant mount options. In particular, nfs requests generated
              for an interruptible mount will be sent in an uninterruptible
              manner. If the value is set to 0, then nfs requests are always
              done with accordance to relevant mount options. The default
              value is 0.

     nfs.lockd.grace_period
              This option specifies the grace period (in seconds) during which
              lockd will only accept requests from hosts which are reclaiming
              locks which existed before the restart.  The default value is 45
              seconds.

     nfs.lockd.host_monitor_cache_timeout
              This option tells rpc.lockd how long (in seconds) to cache state
              records for monitored hosts.  Setting it to zero will disable
              the cache which will make lock and unlock requests from a single
              client more expensive because of additional interaction with the
              client's statd.  The default value is 60 seconds.

     nfs.lockd.port
              This option can be used to specify a port that the NFS LOCK
              service (lockd) should be available on.  The default value is
              unspecified, which means that any available port will be used.

     nfs.lockd.send_using_tcp
              This option tells lockd to use TCP sockets when contacting other
              hosts.  The default value is 0, which means lockd will use UDP.

     nfs.lockd.send_using_mnt_transport
              This option tells lockd to use the socket type of the
              corresponding nfs mount. Locking a file on a udp mount will use
              udp and locking a file on a nfs mount mounted with tcp will use
              tcp. Note that nfs.lockd.send_using_tcp will override this
              option. The default value is 0, which means lockd will use UDP
              provided nfs.lockd.send_using_tcp is not set or set to 0.

     nfs.lockd.shutdown_delay_client
              This option species how long (in seconds) the lockd daemon
              should remain running after the unmounting of the last NFS file
              system for which it may need to perform file locking requests.
              The default value is 180 seconds.  (Note: lockd may also remain
              running if it is needed by the NFS server.)

     nfs.lockd.shutdown_delay_server
              This option species how long (in seconds) the lockd daemon
              should remain running after the NFS server daemon, nfsd(8), is
              stopped.  The default value is 180 seconds.  (Note: lockd may
              also remain running if it is needed by any NFS file system
              mounts.)

     nfs.lockd.tcp
              This option specifies whether the LOCK server should support
              connections using TCP.  The default value is 1 (enabled).

     nfs.lockd.udp
              This option specifies whether the LOCK server should support
              connections using UDP.  The default value is 1 (enabled).

     nfs.lockd.verbose
              This option controls how much logging lockd performs.  It
              currently maps directly to the rpc.lockd(8) -d debug_level
              option.  The default value is 0.

     nfs.server.async
              This option specifies that the NFS server should report unstable
              writes as stable writes.  The default is 0 (off).  While
              enabling this option can improve write performance, it will also
              put data integrity at risk because the NFS client will be told
              that data is on stable storage before it actually is.  The data
              may be lost if the NFS server crashes.

     nfs.server.bonjour
              This option controls whether the NFS service is advertised via
              Bonjour.  The default value is 1 (on).

     nfs.server.bonjour.local_domain_only
              This option controls whether the NFS service's Bonjour
              advertisement is restricted to the local domain only.  The
              default value is 0 (off).

     nfs.server.export_hash_size
              This option specifies the size of the NFS server export hash
              table.  The default value is 64.

     nfs.server.fsevents
              This option controls whether the NFS server will generate
              fsevents for operations performed on an exported file system.
              The default value is 1 (enabled).

     nfs.server.mount.port
              This option can be used to specify a port that the MOUNT service
              (mountd) should be available on.  The default value is
              unspecified, which means that any available port will be used.

     nfs.server.mount.regular_files
              This option controls whether MOUNT requests for non-directory
              objects will be allowed.  The default value is 0 (off).

     nfs.server.mount.require_resv_port
              This option controls whether MOUNT requests are required to
              originate from a reserved port (port < 1024).  The default value
              is 1 (yes).  Many NFS server implementations require this
              because of the false belief that this requirement increases
              security.

     nfs.server.nfsd_threads
              This option controls how many NFS server (nfsd) threads are made
              available to service NFS requests.  The default value is 8.

     nfs.server.port
              This option can be used to specify a port that the NFS service
              (nfsd) should be available on.  The default value is 2049.

     nfs.server.materialize_dataless_files
              This option specifies whether the NFS server should support
              materialization of non-local files (dataless).  dataless is a
              state supported by APFS in which a file or directory is a
              placeholder. Its children (for a directory) or content (for a
              file) will be fetched when the user tries to read it.  The
              default is 0 (off).

     nfs.server.reqcache_size
              This option specifies the size of the NFS server request cache.
              The default value is 64.

     nfs.server.request_queue_length
              This option specifies the maximum number of NFS requests that
              the NFS server can queue up internally on the NFS server's UDP
              socket.  The default value is 128.  Note: using a large value
              risks getting all the mbufs in the system placed on that queue
              which can cause all networking to hang.

     nfs.server.require_resv_port
              This option controls whether NFS requests are required to
              originate from a reserved port (port < 1024).  The default value
              is 0 (no).  Many NFS server implementations require this because
              of the false belief that this requirement increases security.

     nfs.server.rquota.port
              This option can be used to specify a port that the RQUOTA
              service (rquotad) should be available on.  The default value is
              unspecified, which means that any available port will be used.

     nfs.server.rquota.tcp
              This option specifies whether the RQUOTA server should support
              connections using TCP.  The default value is 1 (enabled).

     nfs.server.rquota.udp
              This option specifies whether the RQUOTA server should support
              connections using UDP.  The default value is 1 (enabled).

     nfs.server.tcp
              This option specifies whether the NFS server should support
              connections using TCP.  The default value is 1 (enabled).

     nfs.server.udp
              This option specifies whether the NFS server should support
              connections using UDP.  The default value is 1 (enabled).

     nfs.server.user_stats
              This option controls whether the NFS server maintains active
              user statistics.  The default value is 1 (enabled).

     nfs.server.verbose
              This option controls how much logging nfsd performs.  The
              default value is 0 - where only messages up to priority
              LOG_WARNING are logged.  Setting the verbose level to 1 will add
              LOG_NOTICE messages which includes logging failed mount
              attempts.  A verbose level of 2 will increase the log level to
              LOG_INFO which includes logging successful mount attempts.  A
              log level of 3 or more will add LOG_DEBUG messages and cause
              increasing amounts of debug information to be logged.  nfsd's
              verbose level can also be adjusted temporarily using the
              command: nfsd verbose.  Note: the syslog(8) configuration may
              need to be adjusted in order to see the increased verbosity.

     nfs.server.wg_delay
              This option controls how long (in microseconds) NFSv2 writes
              will be gathered up before being processed.  The default value
              is 1000.  Setting this option to 0 will disable write gathering
              for NFSv2.

     nfs.server.wg_delay_v3
              This option controls how long (in microseconds) NFSv3 writes
              will be gathered up before being processed.  The default value
              is 0 (disabled).  NFSv3's support of unstable writes effectively
              eliminates the need for doing write gathering to increase
              performance.

     nfs.statd.port
              This option can be used to specify a port that the STATUS
              service (statd) should be available on.  The default value is
              unspecified, which means that any available port will be used.

     nfs.statd.send_using_tcp
              This option tells statd to use TCP sockets when contacting other
              hosts.  The default value is 0, which means statd will use UDP.

     nfs.statd.simu_crash_allowed
              This option controls whether statd allows SM_SIMU_CRASH
              requests.  The default value is 0 (not allowed).

     nfs.statd.tcp
              This option specifies whether the STATUS server should support
              connections using TCP.  The default value is 1 (enabled).

     nfs.statd.udp
              This option specifies whether the STATUS server should support
              connections using UDP.  The default value is 1 (enabled).

     nfs.statd.verbose
              This option controls how much logging statd performs.  The
              default value is 0.

FILES
     /etc/nfs.conf  The NFS configuration file.

SEE ALSO
     nfs(5), nfsd(8), rpc.lockd(8), rpc.rquotad(8), rpc.statd(8),
     mount_nfs(8), opendirectoryd(8)

macOS 15.2                       July 21, 2009                      macOS 15.2