• S
    GFS2: Make "try" lock not try quite so hard · d5341a92
    Steven Whitehouse 提交于
    This looks like a big change, but in reality its only a single line of actual
    code change, the rest is just moving a function to before its new caller.
    The "try" flag for glocks is a rather subtle and delicate setting since it
    requires that the state machine tries just hard enough to ensure that it has
    a good chance of getting the requested lock, but no so hard that the
    request can land up blocked behind another.
    
    The patch adds in an additional check which will fail any queued try
    locks if there is another request blocking the try lock request which
    is not granted and compatible, nor in progress already. The check is made
    only after all pending locks which may be granted have been granted.
    
    I've checked this with the reproducer for the reported flock bug which
    this is intended to fix, and it now passes.
    Signed-off-by: NSteven Whitehouse <swhiteho@redhat.com>
    d5341a92
glock.c 46.5 KB