rpms/lvm2/devel lvm2-2_02_52-fix-pvcreate-partition.patch, NONE, 1.1 lvm2-2_02_52-fix-pvs-global-lock.patch, NONE, 1.1 lvm2.spec, 1.169, 1.170

Milan Broz mbroz at fedoraproject.org
Mon Aug 24 12:23:11 UTC 2009


Author: mbroz

Update of /cvs/pkgs/rpms/lvm2/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv12873

Modified Files:
	lvm2.spec 
Added Files:
	lvm2-2_02_52-fix-pvcreate-partition.patch 
	lvm2-2_02_52-fix-pvs-global-lock.patch 
Log Message:
Fix global locking in PV reporting commands (2.02.49).
Fix pvcreate on a partition (2.02.51).
Build clvmd with both cman and corosync support.



lvm2-2_02_52-fix-pvcreate-partition.patch:
 WHATS_NEW            |    4 ++++
 lib/device/dev-md.c  |   12 +++++++-----
 lib/filters/filter.c |   10 ++++++++++
 lib/filters/filter.h |    1 +
 4 files changed, 22 insertions(+), 5 deletions(-)

--- NEW FILE lvm2-2_02_52-fix-pvcreate-partition.patch ---
--- LVM2.2.02.51.old/lib/device/dev-md.c	2009-08-01 19:14:52.000000000 +0200
+++ LVM2.2.02.51/lib/device/dev-md.c	2009-08-24 14:13:39.000000000 +0200
@@ -137,13 +137,15 @@ static int _md_sysfs_attribute_snprintf(
 	if (!sysfs_dir || !*sysfs_dir)
 		return ret;
 
-check_md_major:
-	if (MAJOR(dev) != md_major()) {
-		if (get_primary_dev(sysfs_dir, blkdev, &dev))
-			goto check_md_major;
-		return ret;
+	if (MAJOR(dev) == blkext_major()) {
+		/* lookup parent MD device from blkext partition */
+		if (!get_primary_dev(sysfs_dir, blkdev, &dev))
+			return ret;
 	}
 
+	if (MAJOR(dev) != md_major())
+		return ret;
+
 	ret = dm_snprintf(path, size, "%s/dev/block/%d:%d/md/%s", sysfs_dir,
 			  (int)MAJOR(dev), (int)MINOR(dev), attribute);
 	if (ret < 0) {
--- LVM2.2.02.51.old/lib/filters/filter.c	2009-07-10 00:34:02.000000000 +0200
+++ LVM2.2.02.51/lib/filters/filter.c	2009-08-24 14:13:39.000000000 +0200
@@ -38,6 +38,7 @@ typedef struct {
 } device_info_t;
 
 static int _md_major = -1;
+static int _blkext_major = -1;
 static int _device_mapper_major = -1;
 
 int md_major(void)
@@ -45,6 +46,11 @@ int md_major(void)
 	return _md_major;
 }
 
+int blkext_major(void)
+{
+	return _blkext_major;
+}
+
 /*
  * Devices are only checked for partition tables if their minor number
  * is a multiple of the number corresponding to their type below
@@ -197,6 +203,10 @@ static int _scan_proc_dev(const char *pr
 		if (!strncmp("md", line + i, 2) && isspace(*(line + i + 2)))
 			_md_major = line_maj;
 
+		/* Look for blkext device */
+		if (!strncmp("blkext", line + i, 6) && isspace(*(line + i + 6)))
+			_blkext_major = line_maj;
+
 		/* Look for device-mapper device */
 		/* FIXME Cope with multiple majors */
 		if (!strncmp("device-mapper", line + i, 13) && isspace(*(line + i + 13)))
--- LVM2.2.02.51.old/lib/filters/filter.h	2007-08-20 22:55:25.000000000 +0200
+++ LVM2.2.02.51/lib/filters/filter.h	2009-08-24 14:13:39.000000000 +0200
@@ -36,6 +36,7 @@ struct dev_filter *lvm_type_filter_creat
 void lvm_type_filter_destroy(struct dev_filter *f);
 
 int md_major(void);
+int blkext_major(void);
 int max_partitions(int major);
 
 #endif
--- LVM2.2.02.51.old/WHATS_NEW	2009-08-06 19:08:01.000000000 +0200
+++ LVM2.2.02.51/WHATS_NEW	2009-08-24 14:14:06.000000000 +0200
@@ -1,3 +1,7 @@
+Version 2.02.52 -
+=================================
+  Fix pvcreate on a partition (2.02.51).
+
 Version 2.02.51 - 6th August 2009
 =================================
   Fix locking in clvmd (2.02.50).

lvm2-2_02_52-fix-pvs-global-lock.patch:
 WHATS_NEW       |    1 +
 tools/toollib.c |    2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)

--- NEW FILE lvm2-2_02_52-fix-pvs-global-lock.patch ---
--- LVM2.2.02.51.old/tools/toollib.c	2009-07-21 13:10:49.000000000 +0200
+++ LVM2.2.02.51/tools/toollib.c	2009-08-24 14:15:08.000000000 +0200
@@ -643,7 +643,7 @@ int process_each_pv(struct cmd_context *
 
 	dm_list_init(&tags);
 
-	if (lock_global && !lock_vol(cmd, VG_GLOBAL, LCK_READ)) {
+	if (lock_global && !lock_vol(cmd, VG_GLOBAL, LCK_VG_READ)) {
 		log_error("Unable to obtain global lock.");
 		return ECMD_FAILED;
 	}
--- LVM2.2.02.51.old/WHATS_NEW	2009-08-24 14:14:58.000000000 +0200
+++ LVM2.2.02.51/WHATS_NEW	2009-08-24 14:15:25.000000000 +0200
@@ -1,5 +1,6 @@
 Version 2.02.52 -
 =================================
+  Fix global locking in PV reporting commands (2.02.49).
   Fix pvcreate on a partition (2.02.51).
 
 Version 2.02.51 - 6th August 2009


Index: lvm2.spec
===================================================================
RCS file: /cvs/pkgs/rpms/lvm2/devel/lvm2.spec,v
retrieving revision 1.169
retrieving revision 1.170
diff -u -p -r1.169 -r1.170
--- lvm2.spec	6 Aug 2009 19:48:20 -0000	1.169
+++ lvm2.spec	24 Aug 2009 12:23:10 -0000	1.170
@@ -8,7 +8,7 @@
 Summary: Userland logical volume management tools 
 Name: lvm2
 Version: 2.02.51
-Release: 2%{?dist}
+Release: 3%{?dist}
 License: GPLv2
 Group: System Environment/Base
 URL: http://sources.redhat.com/lvm2
@@ -16,6 +16,8 @@ Source0: ftp://sources.redhat.com/pub/lv
 
 # Customise lvmconf.sh for built-in clustered locking in Fedora
 Patch0: cluster-locking-built-in.patch
+Patch1: lvm2-2_02_52-fix-pvcreate-partition.patch
+Patch2: lvm2-2_02_52-fix-pvs-global-lock.patch
 
 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 BuildRequires: libselinux-devel >= 1.30.19-4, libsepol-devel
@@ -41,6 +43,8 @@ or more physical volumes and creating on
 %prep
 %setup -q -n LVM2.%{version}
 %patch0 -p1 -b .locking
+%patch1 -p1 -b .partition
+%patch2 -p1 -b .globallock
 
 %build
 %define _exec_prefix /
@@ -48,7 +52,7 @@ or more physical volumes and creating on
 %define _sbindir /sbin
 %define _libdir /%{_lib}
 
-%configure --enable-lvm1_fallback --enable-fsadm --with-clvmd=corosync --with-cluster=internal --with-pool=internal --with-user= --with-group= --with-usrlibdir=/usr/%{_lib} --with-usrsbindir=/usr/sbin --with-device-uid=0 --with-device-gid=6 --with-device-mode=0660 --enable-pkgconfig --enable-applib --enable-cmdlib
+%configure --enable-lvm1_fallback --enable-fsadm --with-clvmd=cman,corosync --with-cluster=internal --with-pool=internal --with-user= --with-group= --with-usrlibdir=/usr/%{_lib} --with-usrsbindir=/usr/sbin --with-device-uid=0 --with-device-gid=6 --with-device-mode=0660 --enable-pkgconfig --enable-applib --enable-cmdlib
 make %{?_smp_mflags}
 
 %install
@@ -306,6 +310,11 @@ This package contains the device-mapper 
 
 
 %changelog
+* Mon Aug 24 2009 Milan Broz <mbroz at redhat.com> - 2.02.51-3
+- Fix global locking in PV reporting commands (2.02.49).
+- Fix pvcreate on a partition (2.02.51).
+- Build clvmd with both cman and corosync support.
+
 * Thu Aug 6 2009 Alasdair Kergon <agk at redhat.com> - 2.02.51-2
 - Fix clvmd locking broken in 2.02.50-1.
 - Only change LV /dev symlinks on ACTIVATE not PRELOAD (so not done twice).




More information about the fedora-extras-commits mailing list