diff options
author | David Teigland <teigland@redhat.com> | 2006-10-31 11:56:08 -0600 |
---|---|---|
committer | Steven Whitehouse <swhiteho@redhat.com> | 2006-11-30 10:35:16 -0500 |
commit | 2cdc98aaf072d573df10c503d3b3b0b74e2a6d06 (patch) | |
tree | c8f0ed478c6384da504026ce2668ed916b01a6af /fs/dlm/util.c | |
parent | 91c0dc93a1a6bbdd79707ed311e48b4397df177f (diff) | |
download | linux-2cdc98aaf072d573df10c503d3b3b0b74e2a6d06.tar.bz2 |
[DLM] fix stopping unstarted recovery
Red Hat BZ 211914
When many nodes are joining a lockspace simultaneously, the dlm gets a
quick sequence of stop/start events, a pair for adding each node.
dlm_controld in user space sends dlm_recoverd in the kernel each stop and
start event. dlm_controld will sometimes send the stop before
dlm_recoverd has had a chance to take up the previously queued start. The
stop aborts the processing of the previous start by setting the
RECOVERY_STOP flag. dlm_recoverd is erroneously clearing this flag and
ignoring the stop/abort if it happens to take up the start after the stop
meant to abort it. The fix is to check the sequence number that's
incremented for each stop/start before clearing the flag.
Signed-off-by: David Teigland <teigland@redhat.com>
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
Diffstat (limited to 'fs/dlm/util.c')
0 files changed, 0 insertions, 0 deletions