[lvm-devel] master - lvmetad: free fid after vg lookup failure
Alasdair Kergon
agk at fedoraproject.org
Wed Jan 8 02:18:13 UTC 2014
Gitweb: http://git.fedorahosted.org/git/?p=lvm2.git;a=commitdiff;h=21c3b41ea893fe64e7ca5245411899ace4ae2a81
Commit: 21c3b41ea893fe64e7ca5245411899ace4ae2a81
Parent: 3a4efb2f1620b5875395966b66510392d1ebe60a
Author: Alasdair G Kergon <agk at redhat.com>
AuthorDate: Wed Jan 8 01:51:23 2014 +0000
Committer: Alasdair G Kergon <agk at redhat.com>
CommitterDate: Wed Jan 8 01:51:23 2014 +0000
lvmetad: free fid after vg lookup failure
---
lib/cache/lvmetad.c | 9 ++++++---
1 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/lib/cache/lvmetad.c b/lib/cache/lvmetad.c
index 65ed520..85bbf88 100644
--- a/lib/cache/lvmetad.c
+++ b/lib/cache/lvmetad.c
@@ -240,8 +240,9 @@ static int _read_mda(struct lvmcache_info *info,
return 0;
}
-static struct lvmcache_info *_pv_populate_lvmcache(
- struct cmd_context *cmd, struct dm_config_node *cn, dev_t fallback)
+static struct lvmcache_info *_pv_populate_lvmcache(struct cmd_context *cmd,
+ struct dm_config_node *cn,
+ dev_t fallback)
{
struct device *dev;
struct id pvid, vgid;
@@ -342,7 +343,7 @@ struct volume_group *lvmetad_vg_lookup(struct cmd_context *cmd, const char *vgna
daemon_reply reply;
int found;
char uuid[64];
- struct format_instance *fid;
+ struct format_instance *fid = NULL;
struct format_instance_ctx fic;
struct dm_config_node *top;
const char *name, *diag_name;
@@ -424,6 +425,8 @@ struct volume_group *lvmetad_vg_lookup(struct cmd_context *cmd, const char *vgna
}
out:
+ if (!vg && fid)
+ fid->fmt->ops->destroy_instance(fid);
daemon_reply_destroy(reply);
return vg;
More information about the lvm-devel
mailing list