[lvm-devel] master - metadata: fix regression causing PVs not in VGs to be marked as allocatable

Peter Rajnoha prajnoha at fedoraproject.org
Mon Jul 7 12:07:58 UTC 2014


Gitweb:        http://git.fedorahosted.org/git/?p=lvm2.git;a=commitdiff;h=6dc7b783c80c6834aa724df49b5d47b9b5601506
Commit:        6dc7b783c80c6834aa724df49b5d47b9b5601506
Parent:        7021c8f1a483d91a58ce2abc52583e73e2910da7
Author:        Peter Rajnoha <prajnoha at redhat.com>
AuthorDate:    Mon Jul 7 13:58:42 2014 +0200
Committer:     Peter Rajnoha <prajnoha at redhat.com>
CommitterDate: Mon Jul 7 14:07:21 2014 +0200

metadata: fix regression causing PVs not in VGs to be marked as allocatable

If the PV is not yet in a VG, it's not allocatable.
A regression introduced by commit 0283c439ec2dc195184a12f86a060b271476aae0
(_pv_create) and later commit a7ca10151795b4c4ed6fa4bf7d3d6b1a687430b0
(pv_read).
---
 WHATS_NEW                    |    1 +
 lib/metadata/metadata.c      |    1 -
 test/shell/pvchange-usage.sh |   11 +++++++++++
 3 files changed, 12 insertions(+), 1 deletions(-)

diff --git a/WHATS_NEW b/WHATS_NEW
index 5a1e214..ab36cb3 100644
--- a/WHATS_NEW
+++ b/WHATS_NEW
@@ -1,5 +1,6 @@
 Version 2.02.108 -
 =================================
+  Fix regression causing PVs not in VGs to be marked as allocatable (2.02.59).
   Fix VG component of lvid in vgsplit/vgmerge and check in vg_validate.
   Add lv_full_name, lv_parent and lv_dm_path fields to reports.
   Change lv_path field to suppress devices that never appear in /dev/vg.
diff --git a/lib/metadata/metadata.c b/lib/metadata/metadata.c
index 50d44ec..2d69714 100644
--- a/lib/metadata/metadata.c
+++ b/lib/metadata/metadata.c
@@ -1599,7 +1599,6 @@ static struct physical_volume *_alloc_pv(struct dm_pool *mem, struct device *dev
 	}
 
 	pv->dev = dev;
-	pv->status = ALLOCATABLE_PV;
 
 	dm_list_init(&pv->tags);
 	dm_list_init(&pv->segments);
diff --git a/test/shell/pvchange-usage.sh b/test/shell/pvchange-usage.sh
index ac63aec..72ab16b 100644
--- a/test/shell/pvchange-usage.sh
+++ b/test/shell/pvchange-usage.sh
@@ -19,6 +19,17 @@ check_changed_uuid_() {
 
 aux prepare_pvs 4
 
+# check 'allocatable' pv attribute
+pvcreate $dev1
+check pv_field "$dev1" pv_attr ---
+vgcreate $vg1 "$dev1"
+check pv_field "$dev1" pv_attr a--
+pvchange --allocatable n "$dev1"
+check pv_field "$dev1" pv_attr ---
+vgremove -ff $vg1
+not pvchange --allocatable y "$dev1"
+pvremove -ff "$dev1"
+
 for mda in 0 1 2
 do
 # "setup pv with metadatacopies = $mda"




More information about the lvm-devel mailing list