[lvm-devel] master - lvmetead: release token

Zdenek Kabelac zkabelac at fedoraproject.org
Fri Oct 12 15:03:02 UTC 2012


Gitweb:        http://git.fedorahosted.org/git/?p=lvm2.git;a=commitdiff;h=ee7143cd02d4b26c80b7accbb80d570058cbe9a9
Commit:        ee7143cd02d4b26c80b7accbb80d570058cbe9a9
Parent:        4d7a4554f40f990b9cb43a5a6039251eec3b94c3
Author:        Zdenek Kabelac <zkabelac at redhat.com>
AuthorDate:    Fri Oct 12 16:50:38 2012 +0200
Committer:     Zdenek Kabelac <zkabelac at redhat.com>
CommitterDate: Fri Oct 12 17:01:22 2012 +0200

lvmetead: release token

Release allocated memory when destroing toolcontext
---
 lib/cache/lvmetad.c        |    6 ++++++
 lib/cache/lvmetad.h        |    5 +++++
 lib/commands/toolcontext.c |    3 +++
 3 files changed, 14 insertions(+), 0 deletions(-)

diff --git a/lib/cache/lvmetad.c b/lib/cache/lvmetad.c
index 47a6d75..9c11329 100644
--- a/lib/cache/lvmetad.c
+++ b/lib/cache/lvmetad.c
@@ -86,6 +86,12 @@ void lvmetad_set_token(const struct dm_config_value *filter)
 		log_warn("WARNING: Failed to set lvmetad token. Out of memory?");
 }
 
+void lvmetad_release_token(void)
+{
+	dm_free(_lvmetad_token);
+	_lvmetad_token = NULL;
+}
+
 void lvmetad_set_socket(const char *sock)
 {
 	_lvmetad_socket = sock;
diff --git a/lib/cache/lvmetad.h b/lib/cache/lvmetad.h
index f6e7b67..98d9034 100644
--- a/lib/cache/lvmetad.h
+++ b/lib/cache/lvmetad.h
@@ -64,6 +64,11 @@ void lvmetad_disconnect(void);
 void lvmetad_set_token(const struct dm_config_value *filter);
 
 /*
+ * Release allocated token.
+ */
+void lvmetad_release_token(void);
+
+/*
  * Send a new version of VG metadata to lvmetad. This is normally called after
  * vg_write but before vg_commit. After vg_commit, lvmetad_vg_commit is called
  * to seal the transaction. The result of lvmetad_vg_update is that the new
diff --git a/lib/commands/toolcontext.c b/lib/commands/toolcontext.c
index 5177f41..d89d2b4 100644
--- a/lib/commands/toolcontext.c
+++ b/lib/commands/toolcontext.c
@@ -1672,6 +1672,9 @@ void destroy_toolcontext(struct cmd_context *cmd)
 
 	dm_free(cmd);
 
+	lvmetad_release_token();
+	lvmetad_disconnect();
+
 	release_log_memory();
 	activation_exit();
 	reset_log_duplicated();




More information about the lvm-devel mailing list