aboutsummaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
authorDavid Teigland <teigland@redhat.com>2006-11-02 09:45:56 -0600
committerSteven Whitehouse <swhiteho@redhat.com>2006-11-30 10:35:06 -0500
commit435618b75b82b5ee511cc01fcdda9c44adb2f4bd (patch)
treed837e977d881458b2c71a2d1dec5d533ad82fefe /fs
parent520698096436f7da5b9142e63e3bed5580c5f14e (diff)
downloadkernel_samsung_aries-435618b75b82b5ee511cc01fcdda9c44adb2f4bd.zip
kernel_samsung_aries-435618b75b82b5ee511cc01fcdda9c44adb2f4bd.tar.gz
kernel_samsung_aries-435618b75b82b5ee511cc01fcdda9c44adb2f4bd.tar.bz2
[DLM] status messages ping-pong between unmounted nodes
Red Hat BZ 213682 If two nodes leave the lockspace (while unmounting the fs in the case of gfs) after one has sent a STATUS message to the other, STATUS/STATUS_REPLY messages will then ping-pong between the nodes when neither of them can find the lockspace in question any longer. We kill this by not sending another STATUS message when we get a STATUS_REPLY for an unknown lockspace. Signed-off-by: David Teigland <teigland@redhat.com> Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
Diffstat (limited to 'fs')
-rw-r--r--fs/dlm/rcom.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/fs/dlm/rcom.c b/fs/dlm/rcom.c
index 518239a..87b12f7 100644
--- a/fs/dlm/rcom.c
+++ b/fs/dlm/rcom.c
@@ -412,9 +412,10 @@ void dlm_receive_rcom(struct dlm_header *hd, int nodeid)
ls = dlm_find_lockspace_global(hd->h_lockspace);
if (!ls) {
- log_print("lockspace %x from %d not found",
- hd->h_lockspace, nodeid);
- send_ls_not_ready(nodeid, rc);
+ log_print("lockspace %x from %d type %x not found",
+ hd->h_lockspace, nodeid, rc->rc_type);
+ if (rc->rc_type == DLM_RCOM_STATUS)
+ send_ls_not_ready(nodeid, rc);
return;
}