• David Howells's avatar
    afs: Fix AFS file locking to allow fine grained locks · 68ce801f
    David Howells authored
    Fix AFS file locking to allow fine grained locks as some applications, such
    as firefox, won't work if they can't take such locks on certain state files
    - thereby preventing the use of kAFS to distribute a home directory.
    
    Note that this cannot be made completely functional as the protocol only
    has provision for whole-file locks, so there exists the possibility of a
    process deadlocking itself by getting a partial read-lock on a file first
    and then trying to get a non-overlapping write-lock - but we got the
    server's read lock with the first lock, so we're now stuck.
    
    OpenAFS solves this by just granting any partial-range lock directly
    without consulting the server - and hoping there's no remote collision.  I
    want to implement that in a separate patch and it requires a bit more
    thought.
    
    Fixes: 8d6c554126b8 ("AFS: implement file locking")
    Reported-by: default avatarJonathan Billings <jsbillings@jsbillings.org>
    Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
    68ce801f
flock.c 19.4 KB