• Steven Whitehouse's avatar
    GFS2: Take account of blockages when using reserved blocks · 62e252ee
    Steven Whitehouse authored
    The claim_reserved_blks() function was not taking account of
    the possibility of "blockages" while performing allocation.
    This can be caused by another node allocating something in
    the same extent which has been reserved locally.
    This patch tests for this condition and then skips the remainder
    of the reservation in this case. This is a relatively rare event,
    so that it should not affect the general performance improvement
    which the block reservations provide.
    The claim_reserved_blks() function also appears not to be able
    to deal with reservations which cross bitmap boundaries, but
    that can be dealt with in a future patch since we don't generate
    boundary crossing reservations currently.
    Signed-off-by: default avatarSteven Whitehouse <swhiteho@redhat.com>
    Reported-by: default avatarDavid Teigland <teigland@redhat.com>
    Cc: Bob Peterson <rpeterso@redhat.com>