• Andreas Gruenbacher's avatar
    gfs2: Smarter iopen glock waiting · 9e8990de
    Andreas Gruenbacher authored
    When trying to upgrade the iopen glock from a shared to an exclusive lock in
    gfs2_evict_inode, abort the wait if there is contention on the corresponding
    inode glock: in that case, the inode must still be in active use on another
    node, and we're not guaranteed to get the iopen glock anytime soon.
    
    To make this work even better, when we notice contention on the iopen glock and
    we can't evict the corresponsing inode and release the iopen glock immediately,
    poke the inode glock.  The other node(s) trying to acquire the lock can then
    abort instead of timing out.
    
    Thanks to Heinz Mauelshagen for pointing out a locking bug in a previous
    version of this patch.
    Signed-off-by: default avatarAndreas Gruenbacher <agruenba@redhat.com>
    9e8990de
super.c 37.5 KB