[Cluster-devel] cluster/group/gfs_controld plock.c recover.c
teigland at sourceware.org
teigland at sourceware.org
Mon Oct 16 17:12:10 UTC 2006
CVSROOT: /cvs/cluster
Module name: cluster
Changes by: teigland at sourceware.org 2006-10-16 17:12:10
Modified files:
group/gfs_controld: plock.c recover.c
Log message:
Recent changes to mount scenarios (mounts while another node is doing
first mount recovery) added a couple places where we need to clear
the "save_plocks" flag to allow a new mount to begin processing plock
requests.
Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/group/gfs_controld/plock.c.diff?cvsroot=cluster&r1=1.23&r2=1.24
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/group/gfs_controld/recover.c.diff?cvsroot=cluster&r1=1.21&r2=1.22
--- cluster/group/gfs_controld/plock.c 2006/10/09 21:51:49 1.23
+++ cluster/group/gfs_controld/plock.c 2006/10/16 17:12:10 1.24
@@ -865,7 +865,7 @@
}
/* When mg members receive our options message (for our mount), one of them
- saves all plock state received to that point in a checkpoint and then sounds
+ saves all plock state received to that point in a checkpoint and then sends
us our journals message. We know to retrieve the plock state from the
checkpoint when we receive our journals message. Any plocks messages that
arrive between seeing our options message and our journals message needs to
@@ -943,8 +943,6 @@
{
struct save_msg *sm, *sm2;
- mg->save_plocks = 0;
-
if (list_empty(&mg->saved_messages))
return;
--- cluster/group/gfs_controld/recover.c 2006/10/16 15:09:25 1.21
+++ cluster/group/gfs_controld/recover.c 2006/10/16 17:12:10 1.22
@@ -999,6 +999,7 @@
mg->first_mounter = 1;
mg->first_mounter_done = 0;
mg->mount_client_delay = 0;
+ mg->save_plocks = 0;
goto out;
} else if (remote_first_mounter_recovery(mg)) {
/* delay notifying mount client until we get a successful
@@ -1006,10 +1007,12 @@
log_group(mg, "other node doing first mounter recovery, "
"delay notify_mount_client");
mg->mount_client_delay = 1;
+ mg->save_plocks = 0;
return;
}
retrieve_plocks(mg);
+ mg->save_plocks = 0;
process_saved_plocks(mg);
out:
notify_mount_client(mg);
More information about the Cluster-devel
mailing list