diff options
author | Jeff Layton <jlayton@redhat.com> | 2014-03-10 14:54:19 +0100 |
---|---|---|
committer | Jeff Layton <jlayton@redhat.com> | 2014-03-31 14:24:43 +0200 |
commit | 29723adee11804b548903ddb1db666cf4a60f60e (patch) | |
tree | 15ffb52af6c920d52cb53b970c9d6a21fe6cc2b1 /security | |
parent | locks: fix locks_mandatory_locked to respect file-private locks (diff) | |
download | linux-29723adee11804b548903ddb1db666cf4a60f60e.tar.xz linux-29723adee11804b548903ddb1db666cf4a60f60e.zip |
locks: make locks_mandatory_area check for file-private locks
Allow locks_mandatory_area() to handle file-private locks correctly.
If there is a file-private lock set on an open file and we're doing I/O
via the same, then that should not cause anything to block.
Handle this by first doing a non-blocking FL_ACCESS check for a
file-private lock, and then fall back to checking for a classic POSIX
lock (and possibly blocking).
Note that this approach is subject to the same races that have always
plagued mandatory locking on Linux.
Reported-by: Trond Myklebust <trond.myklebust@primarydata.com>
Signed-off-by: Jeff Layton <jlayton@redhat.com>
Diffstat (limited to 'security')
0 files changed, 0 insertions, 0 deletions