-.\" lslocks.8 --
+.\" Man page for the lslocks command.
.\" Copyright 2012 Davidlohr Bueso <dave@gnu.org>
.\" May be distributed under the GNU General Public License
-.TH LSLOCKS 8 "February 2012" "util-linux" "System Administration"
+.TH LSLOCKS 8 "December 2014" "util-linux" "System Administration"
.SH NAME
-lslocks \-
-list local system locks
+lslocks \- list local system locks
.SH SYNOPSIS
.B lslocks
-.RB [options]
+[options]
.SH DESCRIPTION
.B lslocks
-lists information about all the file held locks in a Linux system.
+lists information about all the currently held file locks in a Linux system.
+.sp
+Note that lslocks also lists OFD (Open File Description) locks, these locks are
+not associated with any process (PID is -1). OFD locks are associated with the
+open file description on which they are acquired. This lock type is available
+since Linux 3.15, see \fBfcntl\fR(2) for more details.
.SH OPTIONS
-.IP "\fB\-p, \-\-pid\fP"
-Specify the process id, if none is given, it will display all locks
-.IP "\fB\-h, \-\-help\fP"
-Print a help text and exit.
-.IP "\fB\-o, \-\-output \fIlist\fP"
-Specify which output columns to print. Use
+.TP
+.BR \-b , " \-\-bytes"
+Print the SIZE column in bytes rather than in a human-readable format.
+.TP
+.BR \-i , " \-\-noinaccessible"
+Ignore lock files which are inaccessible for the current user.
+.TP
+.BR \-J , " \-\-json"
+Use JSON output format.
+.TP
+.BR \-n , " \-\-noheadings"
+Do not print a header line.
+.TP
+.BR \-o , " \-\-output " \fIlist\fP
+Specify which output columns to print. Use
.B "--help"
to get a list of all supported columns.
-.IP "\fB\-n, \-\-noheadings\fP"
-Do not print a header line.
-.IP "\fB\-u, \-\-notruncate\fP"
-Do not truncate text in columns.
-.IP "\fB\-r, \-\-raw\fP"
+
+The default list of columns may be extended if \fIlist\fP is
+specified in the format \fI+list\fP (e.g. \fBlslocks -o +BLOCKER\fP).
+.TP
+.B \-\-output\-all
+Output all available columns.
+.TP
+.BR \-p , " \-\-pid " \fIpid\fP
+Display only the locks held by the process with this \fIpid\fR.
+.TP
+.BR \-r , " \-\-raw"
Use the raw output format.
+.TP
+.BR \-u , " \-\-notruncate"
+Do not truncate text in columns.
+.TP
+.BR \-V , " \-\-version"
+Display version information and exit.
+.TP
+.BR \-h , " \-\-help"
+Display help text and exit.
.SH OUTPUT
.IP "COMMAND"
The command name of the process holding the lock.
-
.IP "PID"
-Process ID which holds the lock.
-
+The process ID of the process which holds the lock or -1 for OFDLCK.
+.IP "TYPE"
+The type of lock; can be FLOCK (created with \fBflock\fR(2)), POSIX
+(created with \fBfcntl\fR(2) and \fBlockf\fR(3)) or OFDLCK (created with fcntl(2).
.IP "SIZE"
Size of the locked file.
-
-.IP "ACCESS"
-Lock access permissions (read, write).
-
+.IP "MODE"
+The lock's access permissions (read, write). If the process is blocked and waiting for the lock,
+then the mode is postfixed with an '*' (asterisk).
.IP "M"
-Mandatory state of the lock: 0 if none; 1 if set. (See chmod(1)).
-
+Whether the lock is mandatory; 0 means no (meaning the lock is only advisory), 1 means yes.
+(See \fBfcntl\fR(2).)
.IP "START"
Relative byte offset of the lock.
-
.IP "END"
Ending offset of the lock.
-
.IP "PATH"
-Full path of the lock - if none is found or no permissions to read the path it
-will fallback to the device's mountpoint. The path might be truncated, use
-.B "--notruncate"
-to get the full path.
+Full path of the lock. If none is found, or there are no permissions to read
+the path, it will fall back to the device's mountpoint and "..." is appended to
+the path. The path might be truncated; use
+\fB\-\-notruncate\fR to get the full path.
+.IP "BLOCKER"
+The PID of the process which blocks the lock.
.SH NOTES
.nf
-The lslocks command is meant to replace the lslk(8) command, originally written by
-Victor A. Abell <abe@purdue.edu> and unmaintained since 2001.
+The \fBlslocks\fR command is meant to replace the \fBlslk\fR(8) command,
+originally written by Victor A. Abell <abe@purdue.edu> and unmaintained
+since 2001.
.fi
.SH AUTHORS
.fi
.SH "SEE ALSO"
-.BR flock (1)
+.BR flock (1),
+.BR fcntl (2),
+.BR lockf (3)
.SH AVAILABILITY
The lslocks command is part of the util-linux package and is available from
-ftp://ftp.kernel.org/pub/linux/utils/util-linux/.
+https://www.kernel.org/pub/linux/utils/util-linux/.