From mboxrd@z Thu Jan 1 00:00:00 1970 From: teigland@sourceware.org Date: 16 Oct 2006 17:12:10 -0000 Subject: [Cluster-devel] cluster/group/gfs_controld plock.c recover.c Message-ID: <20061016171210.27612.qmail@sourceware.org> List-Id: To: cluster-devel.redhat.com MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit 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);