Go to main content

man pages section 1M: System Administration Commands

Exit Print View

Updated: July 2017
 
 

lockd(1M)

Name

lockd - network lock daemon

Synopsis

/usr/lib/nfs/lockd [-g 
graceperiod] [-l listen_min_backlog
] 
     [-t timeout] [nthreads
]

Description

The lockd utility is part of the NFS lock manager, which supports record locking operations on NFS files in NFSv2 and NFSv3. See fcntl(2) and lockf(3C). The lock manager provides the following two functions:

  • It forwards fcntl(2) locking requests for NFS mounted file systems to the lock manager on the NFS server.

  • It generates local file locking operations in response to requests forwarded from lock managers running on NFS client machines.

State information kept by the lock manager about these locking requests can be lost if the lockd is killed or the operating system is rebooted. Some of this information can be recovered as follows. When the server lock manager restarts, it waits for a grace period for all client-site lock managers to submit reclaim requests. Client-site lock managers, on the other hand, are notified by the status monitor daemon, statd(1M), of the restart and promptly resubmit previously granted lock requests. If the lock daemon fails to secure a previously granted lock at the server site, then it sends SIGLOST to a process.

Administrators can make changes to the startup parameters for lockd by logging in as root and using the sharectl(1M) command.

SMF Management

The lockd service is managed by the service management facility, smf(5), under the service identifier:

svc:/network/nfs/nlockmgr

Administrative actions on this service, such as enabling, disabling, or requesting restart, can be performed using svcadm(1M). The service's status can be queried using the svcs(1) command.

If it is disabled, it will be enabled by mount_nfs(1M), share_nfs(1M), and automountd(1M) unless its application/auto_enable property is set to false.

The sharectl(1M) command is used to manipulate the startup SMF parameters for lockd. Currently supported parameters are as follows:

lockd_listen_backlog=num

Set connection queue length for lockd over a connection-oriented transport. The default and minimum value is 32. Equivalent to –l option.

lockd_servers=num

Maximum number of concurrent lockd requests. The default is 1024. Equivalent to the nthreads operand.

lockd_retransmit_timeout=num

Retransmit timeout, in seconds, before lockd retries. The default is 5. Equivalent to –t option.

grace_period=num

Grace period, in seconds, that all clients (both NLM and NFSv4) have to reclaim locks after a server reboot. This parameter also controls the NFSv4 lease interval. The default is 90. Equivalent to –g option.

See EXAMPLES, below.

Options

The following options are supported:

–g graceperiod

Deprecated in favor of grace_period. Specify the number of seconds that all clients (both NLM and NFSv4) have to reclaim locks after the server reboots. It also controls the NFSv4 lease interval. This option is equivalent to the grace_period property described above.

–l listen_min_backlog

Specify the listener backlog (listen_min_backlog). listen_min_backlog is the number connect requests that are queued and waiting to be processed before new connect requests start to get dropped. Equivalent of the lockd_listen_backlog property described above.

–t timeout

Specify the number of seconds to wait before retransmitting a lock request to the remote server. The default value is 5 seconds. Equivalent of the lockd_retransmit_timeout property described above.

Operands

nthreads

Specify the maximum number of concurrent threads that the server can handle. This concurrency is achieved by up to nthreads threads created as needed in the kernel. nthreads should be based on the load expected on this server. If nthreads is not specified, the maximum number of concurrent threads will default to 1024. Equivalent of the lockd_servers property described above.

Examples

Example 1 Setting a lockd Property

The following command sets lockd_listen_backlog to a new value:

# sharectl set -p lockd_listen_backlog=40 nfs

The lockd_listen_backlog and other lockd properties are described under NOTES, below.

Example 2 Getting a lockd Property Value

The following command retrieves the value of the lockd_listen_backlog property.

% sharectl get -p lockd_listen_backlog nfs
lockd_listen_backlog=40

Attributes

See attributes(5) for descriptions of the following attributes:

ATTRIBUTE TYPE
ATTRIBUTE VALUE
Availability
system/file-system/nfs

See Also

svcs(1), automountd(1M), clear_locks(1M), mount_nfs(1M), share(1M), share_nfs(1M), sharectl(1M), statd(1M), svcadm(1M), fcntl(2), lockf(3C), attributes(5), smf(5)

Notes

The lockd daemon does not need to be running for NFSv4.

The lockd daemon might not exist in a future release of Solaris.