[lvm-devel] LVM2/lib/metadata metadata.c
zkabelac at sourceware.org
zkabelac at sourceware.org
Thu Mar 1 09:46:39 UTC 2012
CVSROOT: /cvs/lvm2
Module name: LVM2
Changes by: zkabelac at sourceware.org 2012-03-01 09:46:38
Modified files:
lib/metadata : metadata.c
Log message:
Fix leak of FID structure
Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/metadata/metadata.c.diff?cvsroot=lvm2&r1=1.494&r2=1.495
--- LVM2/lib/metadata/metadata.c 2012/02/29 02:35:36 1.494
+++ LVM2/lib/metadata/metadata.c 2012/03/01 09:46:38 1.495
@@ -2775,8 +2775,7 @@
return 1;
}
-/* 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. */
+/* Make orphan PVs look like a VG. */
static struct volume_group *_vg_read_orphans(struct cmd_context *cmd,
int warnings,
const char *orphan_vgname)
@@ -2785,6 +2784,7 @@
struct lvmcache_vginfo *vginfo;
struct volume_group *vg = NULL;
struct _vg_read_orphan_baton baton;
+ struct pv_list *pvl;
lvmcache_label_scan(cmd, 0);
lvmcache_seed_infos_from_lvmetad(cmd);
@@ -2796,6 +2796,8 @@
return_NULL;
vg = fmt->orphan_vg;
+ dm_list_iterate_items(pvl, &vg->pvs)
+ pv_set_fid(pvl->pv, NULL);
dm_list_init(&vg->pvs);
vg->pv_count = 0;
@@ -2803,7 +2805,7 @@
baton.vg = vg;
if (!lvmcache_foreach_pv(vginfo, _vg_read_orphan_pv, &baton))
- return_NULL;
+ return_NULL;
return vg;
}
More information about the lvm-devel
mailing list