Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

vfs_lock_file(9) [centos man page]

VFS_LOCK_FILE(9)						   The Linux VFS						  VFS_LOCK_FILE(9)

NAME
vfs_lock_file - file byte range lock SYNOPSIS
int vfs_lock_file(struct file * filp, unsigned int cmd, struct file_lock * fl, struct file_lock * conf); ARGUMENTS
filp The file to apply the lock to cmd type of locking operation (F_SETLK, F_GETLK, etc.) fl The lock to be applied conf Place to return a copy of the conflicting lock, if found. DESCRIPTION
A caller that doesn't care about the conflicting lock may pass NULL as the final argument. If the filesystem defines a private ->lock method, then conf will be left unchanged; so a caller that cares should initialize it to some acceptable default. To avoid blocking kernel daemons, such as lockd, that need to acquire POSIX locks, the ->lock interface may return asynchronously, before the lock has been granted or denied by the underlying filesystem, if (and only if) lm_grant is set. Callers expecting ->lock to return asynchronously will only use F_SETLK, not F_SETLKW; they will set FL_SLEEP if (and only if) the request is for a blocking lock. When ->lock does return asynchronously, it must return FILE_LOCK_DEFERRED, and call ->lm_grant when the lock request completes. If the request is for non-blocking lock the file system should return FILE_LOCK_DEFERRED then try to get the lock and call the callback routine with the result. If the request timed out the callback routine will return a nonzero return code and the file system should release the lock. The file system is also responsible to keep a corresponding posix lock when it grants a lock so the VFS can find out which locks are locally held and do the correct lock cleanup when required. The underlying filesystem must not drop the kernel lock or call ->lm_grant before returning to the caller with a FILE_LOCK_DEFERRED return code. COPYRIGHT
Kernel Hackers Manual 3.10 June 2014 VFS_LOCK_FILE(9)

Check Out this Related Man Page

lockd(8c)																 lockd(8c)

Name
       lockd - network lock daemon

Syntax
       /usr/etc/lockd [ -t timeout ] [ -g graceperiod ]

Description
       The  daemon processes lock requests that are either sent locally by the kernel or remotely by another lock daemon.  The NFS locking service
       makes this advisory locking support possible by using the system call and the subroutine.  The daemon forwards  lock  requests  for  remote
       data  to  the  server  site's lock daemon.  The daemon then requests the status monitor daemon, for monitor service.  The reply to the lock
       request is not sent to the kernel until the status daemon and the server site's lock daemon have replied.

       If either the status monitor or server site's lock daemon is unavailable, the reply to a lock request for remote data is delayed until  all
       daemons become available.

       When  a server recovers, it waits for a grace period for all client site daemons to submit reclaim requests.  Client site daemons are noti-
       fied by of the server recovery and promptly resubmit previously granted lock requests.  If a client site's daemon fails	to  secure  previ-
       ously  granted  locks  at  the server site, the daemon sends the signal SIGLOST to all the processes that were previously holding locks and
       cannot reclaim them.

Options
       -t timeout      The daemon uses timeout (in seconds) as the interval instead of the default value  of  15  seconds  to  retransmit  a  lock
		       request to the remote server.

       -g graceperiod  The daemon uses graceperiod (in seconds) as the grace period duration instead of the default value of 45 seconds.

See Also
       fcntl(2), lockf(3), signal(3), statd(8c)

																	 lockd(8c)
Man Page