summaryrefslogtreecommitdiffstats
path: root/lib/metadata/vg.c
diff options
context:
space:
mode:
authorZdenek Kabelac <zkabelac@redhat.com>2012-02-13 11:03:59 +0000
committerZdenek Kabelac <zkabelac@redhat.com>2012-02-13 11:03:59 +0000
commit52f2f3eae400759581ac8ec8953a895c5b2be880 (patch)
tree6fd022b6a4a673140d6e470f0c12be8c2448a065 /lib/metadata/vg.c
parent65079de2658fed1acdb7393d4ae6e74805d7b516 (diff)
downloadlvm2-52f2f3eae400759581ac8ec8953a895c5b2be880.tar.gz
lvm2-52f2f3eae400759581ac8ec8953a895c5b2be880.tar.xz
lvm2-52f2f3eae400759581ac8ec8953a895c5b2be880.zip
Add free_orphan_vg
Move commod code to destroy orphan VG into free_orphan_vg() function. Use orphan vgmem for creation of PV lists. Remove some free_pv_fid() calls (FIXME: check all of them) FIXME: Check whether we could merge release_vg back again for all VGs.
Diffstat (limited to 'lib/metadata/vg.c')
-rw-r--r--lib/metadata/vg.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/lib/metadata/vg.c b/lib/metadata/vg.c
index 42cb48cf..bae22dc8 100644
--- a/lib/metadata/vg.c
+++ b/lib/metadata/vg.c
@@ -90,6 +90,18 @@ void release_vg(struct volume_group *vg)
_free_vg(vg);
}
+/*
+ * FIXME out of place, but the main (cmd) pool has been already
+ * destroyed and touching the fid (also via release_vg) will crash the
+ * program
+ *
+ * For now quick wrapper to allow destroy of orphan vg
+ */
+void free_orphan_vg(struct volume_group *vg)
+{
+ _free_vg(vg);
+}
+
char *vg_fmt_dup(const struct volume_group *vg)
{
if (!vg->fid || !vg->fid->fmt)