[lvm-devel] master - pvscan --cache: Also read metadata from LVM1 PVs (BZ 863401).

Petr Rockai mornfall at fedoraproject.org
Wed Oct 10 19:56:13 UTC 2012


Gitweb:        http://git.fedorahosted.org/git/?p=lvm2.git;a=commitdiff;h=deea86c7f49ea825608826e29b56a005e2c9e747
Commit:        deea86c7f49ea825608826e29b56a005e2c9e747
Parent:        2ba9fb4019f737783606d886b96db59570850937
Author:        Petr Rockai <prockai at redhat.com>
AuthorDate:    Wed Oct 10 21:49:40 2012 +0200
Committer:     Petr Rockai <prockai at redhat.com>
CommitterDate: Wed Oct 10 21:55:24 2012 +0200

pvscan --cache: Also read metadata from LVM1 PVs (BZ 863401).

---
 lib/cache/lvmetad.c        |    6 ++++++
 test/shell/lvmetad-lvm1.sh |    1 +
 2 files changed, 7 insertions(+), 0 deletions(-)

diff --git a/lib/cache/lvmetad.c b/lib/cache/lvmetad.c
index b5e3787..18794be 100644
--- a/lib/cache/lvmetad.c
+++ b/lib/cache/lvmetad.c
@@ -823,6 +823,12 @@ int lvmetad_pvscan_single(struct cmd_context *cmd, struct device *dev,
 		goto_bad;
 
 	lvmcache_foreach_mda(info, _lvmetad_pvscan_single, &baton);
+
+	/* LVM1 VGs have no MDAs. */
+	if (!baton.vg && lvmcache_fmt(info) == get_format_by_name(cmd, "lvm1"))
+		baton.vg = ((struct metadata_area *) dm_list_first(&baton.fid->metadata_areas_in_use))->
+			ops->vg_read(baton.fid, lvmcache_vgname_from_info(info), NULL, 0);
+
 	if (!baton.vg)
 		lvmcache_fmt(info)->ops->destroy_instance(baton.fid);
 
diff --git a/test/shell/lvmetad-lvm1.sh b/test/shell/lvmetad-lvm1.sh
index c183fec..528eec2 100644
--- a/test/shell/lvmetad-lvm1.sh
+++ b/test/shell/lvmetad-lvm1.sh
@@ -17,5 +17,6 @@ pvcreate --metadatatype 1 $dev1
 vgscan --cache
 pvs | grep $dev1
 vgcreate --metadatatype 1 $vg1 $dev1
+vgscan --cache
 vgs | grep $vg1
 pvs | grep $dev1




More information about the lvm-devel mailing list