From ce80d6e4011822ab658d961d362036444f23a91f Mon Sep 17 00:00:00 2001 From: Petr Rockai Date: Wed, 29 Feb 2012 00:18:27 +0000 Subject: [PATCH] Attempt a fix for lvm shell accumulating copies of orphan PVs with each "pvs" invocation. --- lib/metadata/metadata.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/metadata/metadata.c b/lib/metadata/metadata.c index c4a428397..2bfbab7b1 100644 --- a/lib/metadata/metadata.c +++ b/lib/metadata/metadata.c @@ -2775,7 +2775,8 @@ static int _vg_read_orphan_pv(struct lvmcache_info *info, void *baton) return 1; } -/* Make orphan PVs look like a VG */ +/* Make orphan PVs look like a VG. FIXME multiple runs will leak memory + * allocated to PVs into the orphan VG pool which is now global. */ static struct volume_group *_vg_read_orphans(struct cmd_context *cmd, int warnings, const char *orphan_vgname) @@ -2795,6 +2796,8 @@ static struct volume_group *_vg_read_orphans(struct cmd_context *cmd, return_NULL; vg = fmt->orphan_vg; + dm_list_init(&vg->pvs); + vg->pv_count = 0; baton.warnings = warnings; baton.vg = vg;