Bug ID 942178
Summary NFS4 Java file lock problem with kernel 3.16.7-24.1
Classification openSUSE
Product openSUSE Distribution
Version 13.2
Hardware x86-64
OS openSUSE 13.2
Status NEW
Severity Major
Priority P5 - None
Component Kernel
Assignee kernel-maintainers@forge.provo.novell.com
Reporter timo.boehme@ontochem.com
QA Contact qa-bugs@suse.de
Found By ---
Blocker ---

When locking a file on a NFS4 mounted file system via Java FileLock class under
Linux kernel 3.16.7-24.1 this is not recognized by another Java program on
another OpenSuse computer with kernel 3.16.7-21.1. Going back to kernel
3.16.7-21.1 all is fine.

The NFS4 file system is mounted as
rw,relatime,vers=4.0,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=XXX.XXX.XXX.XXX,local_lock=none,addr=XXX.XXX.XXX.XXX
on both machines.

According to
http://stackoverflow.com/questions/23562369/is-a-filelock-a-posix-advisory-fcntl-lock
the Java FileLock class (Sun Java 6) uses POSIX fcntl locks.

The problem is critical because the standard Java Logging implementation is now
broken. The implementation tests if it can exclusively lock the .lck file which
secures a lock file. If the machine with kernel 3.16.7-24.1 created this file
(and locked it) the other machine gets nevertheless an exclusive lock on the
.lck file assuming it created the file and moves the lock file from the first
process away.

Somehow it seems like the local_lock parameter is set to another value than
'none' despite the fact that the mount option was 'none'.


You are receiving this mail because: