cluster: STABLE3 - dlm_controld: finalize ckpt handle

David Teigland teigland@fedoraproject.org
Fri Feb 27 19:58:00 GMT 2009


Gitweb:        http://git.fedorahosted.org/git/cluster.git?p=cluster.git;a=commitdiff;h=4553dd7afb243f4a3943bb26226b43111a2e7b05
Commit:        4553dd7afb243f4a3943bb26226b43111a2e7b05
Parent:        6c2304bf9a67deadab50c67904d22debcbde6250
Author:        David Teigland <teigland@redhat.com>
AuthorDate:    Fri Feb 27 13:53:55 2009 -0600
Committer:     David Teigland <teigland@redhat.com>
CommitterDate: Fri Feb 27 13:53:55 2009 -0600

dlm_controld: finalize ckpt handle

when shutting down

Signed-off-by: David Teigland <teigland@redhat.com>
---
 group/dlm_controld/dlm_daemon.h |    1 +
 group/dlm_controld/main.c       |    4 +++-
 group/dlm_controld/plock.c      |    9 +++++++++
 3 files changed, 13 insertions(+), 1 deletions(-)

diff --git a/group/dlm_controld/dlm_daemon.h b/group/dlm_controld/dlm_daemon.h
index 8173192..60c48cd 100644
--- a/group/dlm_controld/dlm_daemon.h
+++ b/group/dlm_controld/dlm_daemon.h
@@ -292,6 +292,7 @@ void process_netlink(int ci);
 
 /* plock.c */
 int setup_plocks(void);
+void close_plocks(void);
 void process_plocks(int ci);
 int limit_plocks(void);
 void receive_plock(struct lockspace *ls, struct dlm_header *hd, int len);
diff --git a/group/dlm_controld/main.c b/group/dlm_controld/main.c
index afc8022..cace8d1 100644
--- a/group/dlm_controld/main.c
+++ b/group/dlm_controld/main.c
@@ -1016,8 +1016,10 @@ static void loop(void)
  out:
 	if (cfgd_groupd_compat)
 		close_groupd();
-	if (group_mode == GROUP_LIBCPG)
+	if (group_mode == GROUP_LIBCPG) {
 		close_cpg();
+		close_plocks();
+	}
 	clear_configfs();
 	close_logging();
 	close_ccs();
diff --git a/group/dlm_controld/plock.c b/group/dlm_controld/plock.c
index 9a8215b..2acfe62 100644
--- a/group/dlm_controld/plock.c
+++ b/group/dlm_controld/plock.c
@@ -186,6 +186,15 @@ int setup_plocks(void)
 	return plock_device_fd;
 }
 
+void close_plocks(void)
+{
+	if (system_ckpt_handle)
+		saCkptFinalize(system_ckpt_handle);
+	if (plock_device_fd > 0)
+		close(plock_device_fd);
+
+}
+
 static uint32_t mg_to_ls_id(uint32_t fsid)
 {
 	struct lockspace *ls;



More information about the Cluster-cvs mailing list