NFSv4 need file to be opened in RW-mode to place exclusive lock: http://www.spinics.net/lists/linux-nfs/msg18502.html flock works on NFS since 2.6.12: http://nfs.sourceforge.net/#section_d ,section D10 Signed-off-by: Petr Uzel <petr.uzel@xxxxxxx> --- man2/flock.2 | 6 ++++-- 1 files changed, 4 insertions(+), 2 deletions(-) diff --git a/man2/flock.2 b/man2/flock.2 index f0d85af..c904f6b 100644 --- a/man2/flock.2 +++ b/man2/flock.2 @@ -107,7 +107,8 @@ are preserved across an .BR execve (2). A shared or exclusive lock can be placed on a file regardless of the -mode in which the file was opened. +mode in which the file was opened. The exception is NFSv4, where +the file has to be opened for writing to place exclusive lock. .SH "RETURN VALUE" On success, zero is returned. On error, \-1 is returned, and @@ -146,7 +147,8 @@ possibly implemented in terms of appears on most UNIX systems. .SH NOTES .BR flock () -does not lock files over NFS. +does not lock files over NFS before kernel 2.6.12. Since +2.6.12, kernel emulates flock () using fcntl(2). Use .BR fcntl (2) instead: that does work over NFS, given a sufficiently recent version of -- 1.7.3.4 Petr -- Petr Uzel IRC: ptr_uzl @ freenode
Attachment:
pgp0s8LoOXWLa.pgp
Description: PGP signature