mirror of https://github.com/mkerrisk/man-pages
fcntl.2, read.2, write.2: Document "Lost locks" as cause for EIO.
If an advisory lock is lost, then read/write requests on any affected file descriptor can return EIO - for NFSv4 at least. Signed-off-by: NeilBrown <neilb@suse.com> Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
This commit is contained in:
parent
db4e8e25b4
commit
11cf58cda7
24
man2/fcntl.2
24
man2/fcntl.2
|
@ -669,6 +669,30 @@ and
|
|||
Mandatory locking is not specified by POSIX.
|
||||
Some other systems also support mandatory locking,
|
||||
although the details of how to enable it vary across systems.
|
||||
.SS Lost locks
|
||||
When an advisory lock is obtained on a networked filesystem such as
|
||||
NFS it is possible that the lock might get lost.
|
||||
This may happen due to administrative action on the server, or due to a
|
||||
network partition which lasts long enough for the server to assume
|
||||
that the client is no longer functioning.
|
||||
.PP
|
||||
When the filesystem determines that a lock has been lost, future
|
||||
.BR read (2)
|
||||
or
|
||||
.BR write (2)
|
||||
requests may fail with the error
|
||||
.BR EIO .
|
||||
This error will persist until the lock is removed or the file
|
||||
descriptor is closed.
|
||||
Since Linux 3.12,
|
||||
.\" commit ef1820f9be27b6ad158f433ab38002ab8131db4d
|
||||
this happens at least for NFSv4 including all minor versions.
|
||||
.PP
|
||||
Some versions of Unix send a signal
|
||||
.RB ( SIGLOST )
|
||||
in this circumstance.
|
||||
Linux does not define this signal, and does not provide any
|
||||
asynchronous notification of lost locks.
|
||||
.SS Managing signals
|
||||
.BR F_GETOWN ,
|
||||
.BR F_SETOWN ,
|
||||
|
|
|
@ -163,6 +163,15 @@ or its process group
|
|||
is orphaned.
|
||||
It may also occur when there is a low-level I/O error
|
||||
while reading from a disk or tape.
|
||||
A further possible cause of
|
||||
.B EIO
|
||||
on networked filesystems is when an advisory lock had been taken
|
||||
out on the file descriptor and this lock has been lost.
|
||||
See the
|
||||
.I "Lost locks"
|
||||
section of
|
||||
.BR fcntl (2)
|
||||
for further details.
|
||||
.TP
|
||||
.B EISDIR
|
||||
.I fd
|
||||
|
|
|
@ -197,6 +197,15 @@ be reported by a subsequent
|
|||
(whether or not they were also reported by
|
||||
.BR write (2)).
|
||||
.\" commit 088737f44bbf6378745f5b57b035e57ee3dc4750
|
||||
An alternate cause of
|
||||
.B EIO
|
||||
on networked filesystems is when an advisory lock had been taken out
|
||||
on the file descriptor and this lock has been lost.
|
||||
See the
|
||||
.I "Lost locks"
|
||||
section of
|
||||
.BR fcntl (2)
|
||||
for further details.
|
||||
.TP
|
||||
.B ENOSPC
|
||||
The device containing the file referred to by
|
||||
|
|
Loading…
Reference in New Issue