• Benjamin Marzinski's avatar
    [GFS2] Invalidate cache at correct point · 58e9fee1
    Benjamin Marzinski authored
    GFS2 wasn't invalidating its cache before it called into the lock manager
    with a request that could potentially drop a lock.  This was leaving a
    window where the lock could be actually be held by another node, but the
    file's page cache would still appear valid, causing coherency problems.
    This patch moves the cache invalidation to before the lock manager call
    when dropping a lock. It also adds the option to the lock_dlm lock
    manager to not use conversion mode deadlock avoidance, which, on a
    conversion from shared to exclusive, could internally drop the lock, and
    then reacquire in. GFS2 now asks lock_dlm to not do this.  Instead, GFS2
    manually drops the lock and reacquires it.
    Signed-off-by: default avatarBenjamin Marzinski <bmarzins@redhat.com>
    Signed-off-by: default avatarSteven Whitehouse <swhiteho@redhat.com>
lock.c 11.8 KB