• David Teigland's avatar
    [DLM] fix add_requestqueue checking nodes list · 2896ee37
    David Teigland authored
    Requests that arrive after recovery has started are saved in the
    requestqueue and processed after recovery is done.  Some of these requests
    are purged during recovery if they are from nodes that have been removed.
    We move the purging of the requests (dlm_purge_requestqueue) to later in
    the recovery sequence which allows the routine saving requests
    (dlm_add_requestqueue) to avoid filtering out requests by nodeid since the
    same will be done by the purge.  The current code has add_requestqueue
    filtering by nodeid but doesn't hold any locks when accessing the list of
    current nodes.  This also means that we need to call the purge routine
    when the lockspace is being shut down since the add routine will not be
    rejecting requests itself any more.
    Signed-off-by: default avatarDavid Teigland <teigland@redhat.com>
    Signed-off-by: default avatarSteven Whitehouse <swhiteho@redhat.com>
    2896ee37
requestqueue.c 5.1 KB