diff --git a/.gitignore b/.gitignore index 0c29abc..ba87906 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ -LVM2.2.02.62.tgz +LVM2.2.02.70.tgz +LVM2.2.02.72.tgz diff --git a/LVM2.2.02.62.tgz.asc b/LVM2.2.02.62.tgz.asc deleted file mode 100644 index 7a4a352..0000000 --- a/LVM2.2.02.62.tgz.asc +++ /dev/null @@ -1,7 +0,0 @@ ------BEGIN PGP SIGNATURE----- -Version: GnuPG v1.2.1 (GNU/Linux) - -iD8DBQBLllQSIoGRwVZ+LBcRAjr0AKDIr78odIH+LEBTLUwojwdC+5hyswCdFZ4K -NRauqXPOtb2XT0OwL5+oHZQ= -=J0xw ------END PGP SIGNATURE----- diff --git a/LVM2.2.02.72.tgz.asc b/LVM2.2.02.72.tgz.asc new file mode 100644 index 0000000..b70c597 --- /dev/null +++ b/LVM2.2.02.72.tgz.asc @@ -0,0 +1,7 @@ +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v1.2.1 (GNU/Linux) + +iD8DBQBMUDmbIoGRwVZ+LBcRAtqFAJsGv2xsspvC4GskuEfap8NF3BR3yQCg7saR +50pTyxMvirUMtbSgoaZ99eY= +=JwxI +-----END PGP SIGNATURE----- diff --git a/lvm2-2_02_63-fix-pkgconfig-libdevmapper-event-version-string.patch b/lvm2-2_02_63-fix-pkgconfig-libdevmapper-event-version-string.patch deleted file mode 100644 index 359f571..0000000 --- a/lvm2-2_02_63-fix-pkgconfig-libdevmapper-event-version-string.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff -rup LVM2.2.02.62/daemons/dmeventd/libdevmapper-event.pc.in LVM2.2.02.62-new/daemons/dmeventd/libdevmapper-event.pc.in ---- LVM2.2.02.62/daemons/dmeventd/libdevmapper-event.pc.in 2006-04-19 16:23:10.000000000 +0100 -+++ LVM2.2.02.62-new/daemons/dmeventd/libdevmapper-event.pc.in 2010-03-19 18:43:17.000000000 +0000 -@@ -5,7 +5,7 @@ includedir=@includedir@ - - Name: devmapper-event - Description: device-mapper event library --Version: @DM_LIB_VERSION@ -+Version: @DM_LIB_PATCHLEVEL@ - Requires: devmapper - Cflags: -I${includedir} - Libs: -L${libdir} -ldevmapper-event -diff -rup LVM2.2.02.62/WHATS_NEW LVM2.2.02.62-new/WHATS_NEW ---- LVM2.2.02.62/WHATS_NEW 2010-03-09 13:42:28.000000000 +0000 -+++ LVM2.2.02.62-new/WHATS_NEW 2010-03-19 18:43:35.000000000 +0000 -@@ -1,3 +1,7 @@ -+Version 2.02.63 -+================================ -+ Fix libdevmapper-event pkgconfig version string to match libdevmapper. -+ - Version 2.02.62 - 9th March 2010 - ================================ - Add use_mlockall and mlock_filter to activation section of lvm.conf. diff --git a/lvm2-2_02_73-fix-exported-syms.patch b/lvm2-2_02_73-fix-exported-syms.patch new file mode 100644 index 0000000..9b852f1 --- /dev/null +++ b/lvm2-2_02_73-fix-exported-syms.patch @@ -0,0 +1,138 @@ +--- LVM2.2.02.72/configure 2010-07-28 14:55:42.000000000 +0100 ++++ LVM2/configure 2010-07-31 01:42:09.000000000 +0100 +@@ -691,6 +691,7 @@ + DMEVENTD + DL_LIBS + DEVMAPPER ++DEFAULT_RUN_DIR + DEFAULT_LOCK_DIR + DEFAULT_CACHE_SUBDIR + DEFAULT_BACKUP_SUBDIR +@@ -18043,6 +18044,7 @@ + + + ++ + ################################################################################ + ac_config_files="$ac_config_files Makefile make.tmpl daemons/Makefile daemons/clvmd/Makefile daemons/cmirrord/Makefile daemons/dmeventd/Makefile daemons/dmeventd/libdevmapper-event.pc daemons/dmeventd/plugins/Makefile daemons/dmeventd/plugins/lvm2/Makefile daemons/dmeventd/plugins/mirror/Makefile daemons/dmeventd/plugins/snapshot/Makefile doc/Makefile doc/example.conf include/.symlinks include/Makefile lib/Makefile lib/format1/Makefile lib/format_pool/Makefile lib/locking/Makefile lib/mirror/Makefile lib/replicator/Makefile lib/misc/lvm-version.h lib/snapshot/Makefile libdm/Makefile libdm/libdevmapper.pc liblvm/Makefile liblvm/liblvm2app.pc man/Makefile po/Makefile scripts/clvmd_init_red_hat scripts/cmirrord_init_red_hat scripts/lvm2_monitoring_init_red_hat scripts/Makefile test/Makefile test/api/Makefile tools/Makefile udev/Makefile unit-tests/datastruct/Makefile unit-tests/regex/Makefile" + +diff -ru LVM2.2.02.72/configure.in LVM2/configure.in +--- LVM2.2.02.72/configure.in 2010-07-28 14:55:42.000000000 +0100 ++++ LVM2/configure.in 2010-07-31 01:41:58.000000000 +0100 +@@ -1232,6 +1232,7 @@ + AC_SUBST(DEFAULT_BACKUP_SUBDIR) + AC_SUBST(DEFAULT_CACHE_SUBDIR) + AC_SUBST(DEFAULT_LOCK_DIR) ++AC_SUBST(DEFAULT_RUN_DIR) + AC_SUBST(DEVMAPPER) + AC_SUBST(DLM_CFLAGS) + AC_SUBST(DLM_LIBS) +--- LVM2.2.02.72/lib/metadata/metadata.c 2010-07-09 17:57:44.000000000 +0100 ++++ LVM2/lib/metadata/metadata.c 2010-07-31 01:41:21.000000000 +0100 +@@ -1199,11 +1199,6 @@ + + int vg_set_mda_copies(struct volume_group *vg, uint32_t mda_copies) + { +- /* FIXME: add checks, etc, and set the value */ +- /* +- * FIXME: Before we set a larger value, we may need to +- * enable some mdas on PVS +- */ + vg->mda_copies = mda_copies; + + /* FIXME Use log_verbose when this is due to specific cmdline request. */ +--- LVM2.2.02.72/liblvm/lvm2app.h 2010-07-12 19:29:31.000000000 +0100 ++++ LVM2/liblvm/lvm2app.h 2010-08-02 13:20:12.000000000 +0100 +@@ -14,7 +14,7 @@ + #ifndef _LIB_LVM2APP_H + #define _LIB_LVM2APP_H + +-#include "libdevmapper.h" ++#include + + #include + +--- LVM2.2.02.72/Makefile.in 2010-07-28 14:55:42.000000000 +0100 ++++ LVM2/Makefile.in 2010-08-02 13:08:23.000000000 +0100 +@@ -50,6 +50,7 @@ + po: tools daemons + + libdm.device-mapper: include.device-mapper ++liblvm.device-mapper: include.device-mapper + daemons.device-mapper: libdm.device-mapper + tools.device-mapper: libdm.device-mapper + device-mapper: tools.device-mapper daemons.device-mapper man.device-mapper +--- LVM2.2.02.72/make.tmpl.in 2010-08-02 14:17:38.000000000 +0100 ++++ LVM2/make.tmpl.in 2010-08-02 13:56:38.000000000 +0100 +@@ -360,7 +360,7 @@ + set -e; \ + ( cat $(srcdir)/.exported_symbols; \ + if test x$(EXPORTED_HEADER) != x; then \ +- $(CC) -E -P $(EXPORTED_HEADER) | \ ++ $(CC) -E -P $(INCLUDES) $(DEFS) $(CFLAGS) $(EXPORTED_HEADER) | \ + $(SED) -ne "/^typedef|}/!s/.*[ \*]\(\$(EXPORTED_FN_PREFIX)_[a-z0-9_]*\)(.*/\1/p"; \ + fi \ + ) > $@ +--- LVM2.2.02.72/tools/lvconvert.c 2010-07-13 23:04:36.000000000 +0100 ++++ LVM2/tools/lvconvert.c 2010-07-31 01:41:22.000000000 +0100 +@@ -1237,25 +1237,27 @@ + if (!(lp->failed_pvs = _failed_pv_list(lv->vg))) + return_0; + ++ log_count = new_log_count; ++ + /* + * We must adjust the log first, or the entire mirror + * will get stuck during a suspend. + */ +- if (!_lv_update_mirrored_log(lv, lp->failed_pvs, new_log_count)) ++ if (!_lv_update_mirrored_log(lv, lp->failed_pvs, log_count)) + return 0; + + if (lp->mirrors == 1) +- new_log_count = 0; ++ log_count = 0; + + if (failed_mirrors) { + if (!lv_remove_mirrors(cmd, lv, failed_mirrors, +- new_log_count ? 0U : 1U, ++ log_count ? 0U : 1U, + _is_partial_lv, NULL, 0)) + return 0; + } + + if (!_lv_update_log_type(cmd, lp, lv, lp->failed_pvs, +- new_log_count)) ++ log_count)) + return 0; + + if (!_reload_lv(cmd, lv)) +--- LVM2.2.02.72/VERSION 2010-07-28 15:06:21.000000000 +0100 ++++ LVM2/VERSION 2010-07-28 22:57:51.000000000 +0100 +@@ -1 +1 @@ +-2.02.72(2) (2010-07-28) ++2.02.72(2)-f14 (2010-08-02) +--- LVM2.2.02.72/WHATS_NEW 2010-07-28 15:01:40.000000000 +0100 ++++ LVM2/WHATS_NEW 2010-08-02 13:56:24.000000000 +0100 +@@ -1,3 +1,11 @@ ++Version 2.02.73 - ++================================ ++ Fix exported_symbols generation to use standard compiler arguments. ++ Use #include <> not "" in lvm2app.h which gets installed on the system. ++ Make liblvm.device-mapper wait for include file generation. ++ Fix configure to supply DEFAULT_RUN_DIR to Makefiles. ++ Fix wrong number of mirror log at allocate policy ++ + Version 2.02.72 - 28th July 2010 [CVE-2010-2526] + ================================================= + Change clvmd to communicate with lvm2 via a socket in /var/run/lvm. +--- LVM2.2.02.72/make.tmpl.in 2 Aug 2010 12:57:04 -0000 1.109 ++++ LVM2/make.tmpl.in 2 Aug 2010 19:02:35 -0000 +@@ -73,6 +73,7 @@ + DEFAULT_BACKUP_DIR = $(DEFAULT_SYS_DIR)/@DEFAULT_BACKUP_SUBDIR@ + DEFAULT_CACHE_DIR = $(DEFAULT_SYS_DIR)/@DEFAULT_CACHE_SUBDIR@ + DEFAULT_LOCK_DIR = @DEFAULT_LOCK_DIR@ ++DEFAULT_RUN_DIR = @DEFAULT_RUN_DIR@ + + # Setup vpath search paths for some suffixes + vpath %.c $(srcdir) diff --git a/lvm2-set-default-preferred_names.patch b/lvm2-set-default-preferred_names.patch index 83e76db..5e1e1b6 100644 --- a/lvm2-set-default-preferred_names.patch +++ b/lvm2-set-default-preferred_names.patch @@ -1,5 +1,5 @@ ---- LVM2.2.02.58/doc/example.conf 2010-01-07 19:54:21.000000000 +0000 -+++ LVM2.2.02.58-new/doc/example.conf 2010-01-20 18:30:32.000000000 +0000 +--- LVM2.2.02.58/doc/example.conf.in 2010-01-07 19:54:21.000000000 +0000 ++++ LVM2.2.02.58-new/doc/example.conf.in 2010-01-20 18:30:32.000000000 +0000 @@ -23,10 +23,10 @@ # same block device and the tools need to display a name for device, # all the pathnames are matched against each item in the following diff --git a/lvm2.spec b/lvm2.spec index 9904831..3b178b5 100644 --- a/lvm2.spec +++ b/lvm2.spec @@ -1,6 +1,12 @@ -%define device_mapper_version 1.02.45 +%define device_mapper_version 1.02.53 %define enable_cluster 1 +%if %{fedora} < 14 +%define udev_version 153-1 +%else +%define udev_version 158-1 +%endif + %if %{enable_cluster} %define corosync_version 1.2.0-1 %define openais_version 1.1.1-1 @@ -15,14 +21,14 @@ Summary: Userland logical volume management tools Name: lvm2 -Version: 2.02.62 -Release: 2%{?dist} +Version: 2.02.72 +Release: 4%{?dist} License: GPLv2 Group: System Environment/Base URL: http://sources.redhat.com/lvm2 Source0: ftp://sources.redhat.com/pub/lvm2/LVM2.%{version}.tgz Patch0: lvm2-set-default-preferred_names.patch -Patch1: lvm2-2_02_63-fix-pkgconfig-libdevmapper-event-version-string.patch +Patch1: lvm2-2_02_73-fix-exported-syms.patch BuildRequires: libselinux-devel >= 1.30.19-4, libsepol-devel BuildRequires: ncurses-devel @@ -35,14 +41,10 @@ BuildRequires: clusterlib-devel >= %{clusterlib_version} BuildRequires: module-init-tools BuildRequires: pkgconfig BuildRequires: libudev-devel -Requires: device-mapper >= %{device_mapper_version}-%{release} -Requires: device-mapper-event >= %{device_mapper_version}-%{release} Requires: %{name}-libs = %{version}-%{release} Requires: module-init-tools Requires(post): chkconfig Requires(preun): chkconfig -Conflicts: lvm -Obsoletes: lvm %description LVM2 includes all of the support for handling read/write operations on @@ -55,10 +57,10 @@ or more physical volumes and creating one or more logical volumes %prep %setup -q -n LVM2.%{version} %patch0 -p1 -b preferred_names -%patch1 -p1 -b pkgconfig +%patch1 -p1 -b exported_syms %build -%define _exec_prefix / +%define _exec_prefix "" %define _bindir /bin %define _sbindir /sbin %define _libdir /%{_lib} @@ -71,19 +73,8 @@ make %{?_smp_mflags} %install make install DESTDIR=$RPM_BUILD_ROOT -install -m 0700 -d $RPM_BUILD_ROOT/etc/lvm/archive -install -m 0700 -d $RPM_BUILD_ROOT/etc/lvm/backup -install -m 0700 -d $RPM_BUILD_ROOT/etc/lvm/cache -install -m 0700 -d $RPM_BUILD_ROOT/var/lock/lvm -install -m 0600 /dev/null $RPM_BUILD_ROOT/etc/lvm/cache/.cache - -mkdir -p -m755 $RPM_BUILD_ROOT/etc/rc.d/init.d -%if %{enable_cluster} -install scripts/clvmd_init_red_hat $RPM_BUILD_ROOT/etc/rc.d/init.d/clvmd -install scripts/cmirrord_init_red_hat $RPM_BUILD_ROOT/etc/rc.d/init.d/cmirrord -%endif -install -m 0755 scripts/lvm2_monitoring_init_red_hat $RPM_BUILD_ROOT/etc/rc.d/init.d/lvm2-monitor -install -m 0755 scripts/lvmconf.sh $RPM_BUILD_ROOT/sbin/lvmconf +make install_system_dirs DESTDIR=$RPM_BUILD_ROOT +make install_initscripts DESTDIR=$RPM_BUILD_ROOT %clean rm -rf $RPM_BUILD_ROOT @@ -100,6 +91,7 @@ fi %files %defattr(-,root,root,-) %doc COPYING COPYING.LIB INSTALL README VERSION WHATS_NEW +%doc doc/lvm_fault_handling.txt %{_sbindir}/fsadm %{_sbindir}/lvchange %{_sbindir}/lvconvert @@ -156,8 +148,11 @@ fi %{_mandir}/man8/lvextend.8.gz %{_mandir}/man8/lvm.8.gz %{_mandir}/man8/lvmchange.8.gz +%{_mandir}/man8/lvmconf.8.gz %{_mandir}/man8/lvmdiskscan.8.gz %{_mandir}/man8/lvmdump.8.gz +%{_mandir}/man8/lvmsadc.8.gz +%{_mandir}/man8/lvmsar.8.gz %{_mandir}/man8/lvreduce.8.gz %{_mandir}/man8/lvremove.8.gz %{_mandir}/man8/lvrename.8.gz @@ -195,11 +190,12 @@ fi %{_udevdir}/11-dm-lvm.rules %dir /etc/lvm %ghost /etc/lvm/cache/.cache -%config(noreplace) /etc/lvm/lvm.conf +%config(noreplace) %verify(not md5 mtime size) /etc/lvm/lvm.conf %dir /etc/lvm/backup %dir /etc/lvm/cache %dir /etc/lvm/archive %dir /var/lock/lvm +%dir /var/run/lvm /etc/rc.d/init.d/lvm2-monitor ############################################################################## @@ -210,7 +206,6 @@ Summary: Development libraries and headers Group: Development/Libraries License: LGPLv2 Requires: %{name} = %{version}-%{release} -Requires: %{name}-libs = %{version}-%{release} Requires: device-mapper-devel >= %{device_mapper_version}-%{release} Requires: device-mapper-event-devel >= %{device_mapper_version}-%{release} Requires: pkgconfig @@ -221,16 +216,18 @@ the lvm2 libraries. %files devel %defattr(-,root,root,-) -%{_libdir}/liblvm2app.so -%{_libdir}/liblvm2cmd.so +/usr%{_libdir}/liblvm2app.so +/usr%{_libdir}/liblvm2cmd.so %{_includedir}/lvm2app.h %{_includedir}/lvm2cmd.h /usr%{_libdir}/pkgconfig/lvm2app.pc +/usr%{_libdir}/libdevmapper-event-lvm2.so %package libs -Summary: lvm2 shared libraries +Summary: Shared libraries for lvm2 License: LGPLv2 Group: System Environment/Libraries +Requires: device-mapper-event >= %{device_mapper_version}-%{release} %description libs This package contains shared lvm2 libraries for applications. @@ -240,10 +237,13 @@ This package contains shared lvm2 libraries for applications. %postun libs -p /sbin/ldconfig %files libs +%defattr(-,root,root,-) %attr(755,root,root) %{_libdir}/liblvm2app.so.* %attr(755,root,root) %{_libdir}/liblvm2cmd.so.* %attr(755,root,root) %{_libdir}/libdevmapper-event-lvm2.so.* -%{_libdir}/libdevmapper-event-lvm2.so +%dir %{_libdir}/device-mapper +%{_libdir}/device-mapper/libdevmapper-event-lvm2mirror.so +%{_libdir}/device-mapper/libdevmapper-event-lvm2snapshot.so %{_libdir}/libdevmapper-event-lvm2mirror.so %{_libdir}/libdevmapper-event-lvm2snapshot.so @@ -272,8 +272,6 @@ Extensions to LVM2 to support clusters. %post cluster /sbin/chkconfig --add clvmd -/sbin/lvmconf --lockinglibdir %{_libdir} - %preun cluster if [ "$1" = 0 ]; then /sbin/chkconfig --del clvmd @@ -300,6 +298,7 @@ Requires(post): chkconfig Requires(preun): chkconfig Requires: corosync >= %{corosync_version} Requires: openais >= %{openais_version} +Requires: device-mapper >= %{device_mapper_version}-%{release} %description -n cmirror Daemon providing device-mapper-based mirrors in a shared-storage cluster. @@ -331,6 +330,7 @@ License: GPLv2 Group: System Environment/Base URL: http://sources.redhat.com/dm Requires: device-mapper-libs = %{device_mapper_version}-%{release} +Requires: udev >= %{udev_version} Requires: libudev Requires: util-linux-ng >= 2.15 # We need dracut to install required udev rules if udev_sync @@ -359,7 +359,6 @@ Release: %{release} License: LGPLv2 Group: Development/Libraries Requires: device-mapper = %{device_mapper_version}-%{release} -Requires: device-mapper-libs = %{device_mapper_version}-%{release} Requires: pkgconfig %description -n device-mapper-devel @@ -368,7 +367,7 @@ the device-mapper libraries. %files -n device-mapper-devel %defattr(-,root,root,-) -%{_libdir}/libdevmapper.so +/usr%{_libdir}/libdevmapper.so %{_includedir}/libdevmapper.h /usr%{_libdir}/pkgconfig/devmapper.pc @@ -378,7 +377,7 @@ Version: %{device_mapper_version} Release: %{release} License: LGPLv2 Group: System Environment/Libraries -Obsoletes: device-mapper < 1.02.17-6 +Requires: device-mapper = %{device_mapper_version}-%{release} %description -n device-mapper-libs This package contains the device-mapper shared library, libdevmapper. @@ -405,6 +404,7 @@ of device-mapper devices. %files -n device-mapper-event %defattr(-,root,root,-) %{_sbindir}/dmeventd +%{_mandir}/man8/dmeventd.8.gz %package -n device-mapper-event-libs Summary: Device-mapper event daemon shared library @@ -422,7 +422,7 @@ libdevmapper-event. %postun -n device-mapper-event-libs -p /sbin/ldconfig %files -n device-mapper-event-libs -%{_libdir}/libdevmapper-event.so.* +%attr(755,root,root) %{_libdir}/libdevmapper-event.so.* %package -n device-mapper-event-devel Summary: Development libraries and headers for the device-mapper event daemon @@ -439,16 +439,222 @@ the device-mapper event library. %files -n device-mapper-event-devel %defattr(-,root,root,-) -%attr(755,root,root) /%{_lib}/libdevmapper-event.so +/usr%{_libdir}/libdevmapper-event.so %{_includedir}/libdevmapper-event.h /usr%{_libdir}/pkgconfig/devmapper-event.pc %changelog -* Fri Mar 19 2010 Alasdair Kergon - 2.02.62-2 +* Mon Aug 2 2010 Alasdair Kergon - 2.02.72-4 +- Merge f13, f14 and rawhide spec files. + +* Sat Jul 31 2010 Alasdair Kergon - 2.02.72-3 +- Address lvm2-cluster security flaw CVE-2010-2526. + https://bugzilla.redhat.com/CVE-2010-2526 +- Change clvmd to communicate with lvm2 via a socket in /var/run/lvm. +- Return controlled error if clvmd is run by non-root user. +- Never use clvmd singlenode unless explicitly requested with -Isinglenode. +- Fix exported_symbols generation to use standard compiler arguments. +- Use #include <> not "" in lvm2app.h which gets installed on the system. +- Make liblvm.device-mapper wait for include file generation. +- Fix configure to supply DEFAULT_RUN_DIR to Makefiles. +- Fix wrong number of mirror log at allocate policy + +* Wed Jul 28 2010 Alasdair Kergon - 2.02.71-1 +- Make vgck warn about missing PVs. +- Revert failed table load preparation after "create, load and resume". +- Check if cluster log daemon is running before allowing cmirror create. +- Add dm_create_lockfile to libdm and use for pidfiles for all daemons. +- Correct LV list order used by lvconvert when splitting a mirror. +- Check if LV with specified name already exists when splitting a mirror. +- Fix suspend/resume logic for LVs resulting from splitting a mirror. +- Fix possible hang when all mirror images of a mirrored log fail. +- Adjust auto-metadata repair and caching logic to try to cope with empty mdas. +- Update pvcreate, {pv|vg}change, and lvm.conf man pages about metadataignore. +- Prompt if metadataignore with vgextend or pvchange would adjust vg_mda_copies. +- Adjust vg_mda_copies if metadataignore given with vgextend or pvchange. +- Speed up the regex matcher. +- Use "nowatch" udev rule for inappropriate devices. +- Document LVM fault handling in lvm_fault_handling.txt. +- Clarify help text for vg_mda_count. +- Add more verbose messages while checking volume_list and hosttags settings. +- Add log_error when strdup fails in {vg|lv}_change_tag(). +- Do not log backtrace in valid _lv_resume() code path. + +* Wed Jul 7 2010 Alasdair Kergon - 2.02.70-1 +- Remove log directly if all mirror images of a mirrored log fail. +- Randomly select which mdas to use or ignore. +- Add printf format attributes to yes_no_prompt and fix a caller. +- Always pass unsuspended dm devices through persistent filter to other filters. +- Move test for suspended dm devices ahead of other filters. +- Fix another segfault in clvmd -R if no response from daemon received. (2.02.68) +- Remove superfluous suspended device counter from clvmd. +- Fix lvm shell crash when input is entirely whitespace. +- Update partial mode warning message. +- Preserve memlock balance in clvmd when activation triggers a resume. +- Restore the removemissing behaviour of lvconvert --repair --use-policies. + +* Wed Jun 30 2010 Alasdair Kergon - 2.02.69-1 +- Fix vgremove to allow removal of VG with missing PVs. (2.02.52) +- Add metadata/vgmetadatacopies to lvm.conf. +- Add --metadataignore to pvcreate and vgextend. +- Add vg_mda_copies, pv_mda_used_count and vg_mda_used_count to reports. +- Describe --vgmetadatacopies in lvm.conf and other man pages. +- Add --[vg]metadatacopies to select number of mdas to use in a VG. +- Make the metadata ignore bit control read/write metadata areas in a PV. +- Add pvchange --metadataignore to set or clear a metadata ignore bit. +- Refactor metadata code to prepare for --metadataignore / --vgmetadatacopies. +- Ensure region_size of mirrored log does not exceed its full size. +- Preload libc locale messages to prevent reading it in memory locked state. +- Fix handling of simultaneous mirror image and mirrored log image failure. + +* Thu Jun 24 2010 Peter Rajnoha - 2.02.68-2 +- Fix udev rules to handle spurious events properly. +- Add Requires: udev >= 158-1 (needed for the change in udev rules). + +* Wed Jun 23 2010 Alasdair Kergon - 2.02.68-1 +- Have device-mapper-libs require device-mapper (circular) for udev rules. +- Clear exec_prefix. +- Use early udev synchronisation and update of dev nodes for clustered mirrors. +- Add lv_path to reports to offer full /dev pathname. +- Avoid abort when generating cmirror status. +- Fix clvmd initscript status to print only active clustered LVs. +- Fix segfault in clvmd -R if no response from daemon received. +- Honour log argument when down-converting stacked mirror. +- Sleep to workaround clvmd -S race: socket closed early and server drops cmd. +- Exit successfully when using -o help (but not -o +help) with LVM reports. +- Add man pages for lvmconf, dmeventd and non-existent lvmsadc and lvmsar tools. +- Add --force, --nofsck and --resizefs to lvresize/extend/reduce man pages. +- Fix lvm2cmd example in documentation. +- Fix typo in warning message about missing device with allocated data areas. +- Add device name and offset to raw_read_mda_header error messages. +- Allow use of lvm2app and lvm2cmd headers in C++ code. + +* Fri Jun 4 2010 Alasdair Kergon - 2.02.67-1 +- Require partial option in lvchange --refresh for partial LVs. +- Don't merge unchanged persistent cache file before dumping if tool scanned. +- Avoid selecting names under /dev/block if there is an alternative. +- Fix semctl parameter (union) to avoid misaligned parameter on some arches. +- Fix clvmd initscript restart command to start clvmd if not yet running. +- Handle failed restart of clvmd using -S switch properly. +- Use built-in absolute paths in clvmd (clvmd restart and PV and LV queries). +- Consistently return ECMD_FAILED if interrupted processing multiple LVs. +- Add --type parameter description to the lvcreate man page. +- Document 'clear' in dmsetup man page. +- Replace strncmp kernel version number checks with proper ones. +- Update clustered log kernel module name to log-userspace for 2.6.31 onwards. +- Support autoloading of dm-mod module for kernels from 2.6.35. +- Add dm_tree_node_set_presuspend_node() to presuspend child when deactivating. +- Do not fail lvm_init() if init_logging() or _init_rand() generates an errno. +- Fix incorrect memory pool deallocation while using vg_read for files. + +* Thu May 20 2010 Alasdair Kergon - 2.02.66-2 +- Simplify and fix Requires package headers. +- If unable to obtain snapshot percentage leave value blank on reports. +- Use new install_system_dirs and install_initscripts makefile targets. +- Add lvm2app functions to lookup a vgname from a pvid and pvname. +- Change internal processing of PVs in pvchange. +- Validate internal lock ordering of orphan and VG_GLOBAL locks. + +* Mon May 17 2010 Alasdair Kergon - 2.02.65-1 +- Disallow vgchange --clustered if there are active mirrors or snapshots. +- Fix truncated total size displayed by pvscan. +- Skip internal lvm devices in scan if ignore_suspended_devices is set. +- Do not merge old device cache after we run full scan. (2.02.56) +- Add new --sysinit compound option to vgchange and lvchange. +- Fix clvmd init script never to deactivate non-clustered volume groups. +- Drop duplicate errors for read failures and missing devices to verbose level. +- Do not print encryption key in message debug output (cryptsetup luksResume). +- Use -d to control level of messages sent to syslog by dmeventd. +- Change -d to -f to run dmeventd in foreground. +- Fix udev flags on remove in create_and_load error path. +- Add dm_list_splice() function to join two lists together. +- Use /bin/bash for scripts with bashisms. +- Switch Libs.private to Requires.private in devmapper.pc and lvm2app.pc. +- Use pkgconfig Requires.private for devmapper-event.pc. + +* Fri Apr 30 2010 Alasdair Kergon - 2.02.64-1 +- Avoid pointless initialisation when the 'version' command is run directly. +- Fix memory leak for invalid regex pattern input. +- Display invalid regex pattern for filter configuration in case of error. +- Fix -M and --type to use strings, not pointers that change on config refresh. +- Fix lvconvert error message when existing mirrored LV is not found. +- Set appropriate udev flags for reserved LVs. +- Disallow the direct removal of a merging snapshot. +- Don't preload the origin when removing a snapshot whose merge is pending. +- Disallow the addition of mirror images while a conversion is happening. +- Disallow primary mirror image removal when mirror is not in-sync. +- Remove obsolete --name parameter from vgcfgrestore. +- Add -S command to clvmd to restart the daemon preserving exclusive locks. +- Increment lvm2app version from 1 to 2 (memory allocation changes). +- Change lvm2app memory alloc/free for pv/vg/lv properties. +- Change daemon lock filename from lvm2_monitor to lvm2-monitor for consistency. +- Add support for new IMPORT{db} udev rule. +- Add DM_UDEV_PRIMARY_SOURCE_FLAG udev flag to recognize proper DM events. +- Also include udev libs in libdevmapper.pc. +- Cache bitset locations to speed up _calc_states. +- Add a regex optimisation pass for shared prefixes and suffixes. +- Add dm_bit_and and dm_bitset_equal to libdevmapper. +- Speed up dm_bit_get_next with ffs(). + +* Thu Apr 15 2010 Alasdair Kergon - 2.02.63-2 +- Remove 'lvmconf --lockinglibdir' from cluster post: locking is now built-in. +- Move libdevmapper-event-lvm2.so to devel package. +- Explicitly specify libdevmapper-event.so* attributes. +- Drop support for upgrades from very old versions that used lvm not lvm2. +- Move libdevmapper-event plug-in libraries into new device-mapper subdirectory. +- Don't verify lvm.conf contents when using rpm --verify. + +* Wed Apr 14 2010 Alasdair Kergon - 2.02.63-1 +- Move development links to shared objects to /usr (hard-coded temporarily). +- Change libdevmapper deactivation to fail if device is open. +- Wipe memory buffers for libdevmapper dm-ioctl parameters before releasing. +- Strictly require libudev if udev_sync is used. +- Add support for ioctl's DM_UEVENT_GENERATED_FLAG. +- Allow incomplete mirror restore in lvconvert --repair upon insufficient space. +- Do not reset position in metadata ring buffer on vgrename and vgcfgrestore. +- Allow VGs with active LVs to be renamed. +- Only pass visible LVs to tools in cmdline VG name/tag expansions without -a. +- Use C locale and mlockall in clvmd and dmeventd. +- Mask LCK_HOLD in cluster VG locks for upgrade compatibility with older clvmd. +- Add activation/polling_interval to lvm.conf as --interval default. +- Don't ignore error if resuming any LV fails when resuming groups of LVs. +- Skip closing persistent filter cache file if open failed. +- Permit mimage LVs to be striped in lvcreate, lvresize and lvconvert. +- Fix pvmove allocation to take existing parallel stripes into account. +- Fix incorrect removal of symlinks after LV deactivation fails. +- Fix is_partitioned_dev not to attempt to reopen device. +- Fix another thread race in clvmd. +- Improve vg_validate to detect some loops in lists. +- Change most remaining log_error WARNING messages to log_warn. +- Always use blocking lock for VGs and orphan locks. +- Allocate all memory for segments from private VG mempool. +- Optimise searching PV segments for seeking the most recently-added. +- Remove duplicated vg_validate checks when parsing cached metadata. +- Use hash table of LVs to speed up parsing of text metadata with many LVs. +- Fix two vg_validate messages, adding whitespace and parentheses. +- When dmeventd is not forking because of -d flag, don't kill parent process. +- Fix dso resource leak in error path of dmeventd. +- Fix --alloc contiguous policy only to allocate one set of parallel areas. +- Do not allow {vg|lv}change --ignoremonitoring if on clustered VG. +- Add ability to create mirrored logs for mirror LVs. +- Fix clvmd cluster propagation of dmeventd monitoring mode. +- Allow ALLOC_ANYWHERE to split contiguous areas. +- Add some assertions to allocation code. +- Introduce pv_area_used into allocation algorithm and add debug messages. +- Add activation/monitoring to lvm.conf. +- Add --monitor and --ignoremonitoring to lvcreate. +- Don't allow resizing of internal logical volumes. - Fix libdevmapper-event pkgconfig version string to match libdevmapper. - -* Mon Mar 15 2010 Alasdair Kergon - 2.02.62-1 +- Avoid scanning all pvs in the system if operating on a device with mdas. +- Disable long living process flag in lvm2app library. +- Fix pvcreate device md filter check. +- Suppress repeated errors about the same missing PV uuids. +- Bypass full device scans when using internally-cached VG metadata. +- Only do one full device scan during each read of text format metadata. +- Look up missing PVs by uuid not dev_name in pvs to avoid invalid stat. + +* Tue Mar 09 2010 Alasdair Kergon - 2.02.62-1 - Rewrite clvmd init script. - Add default alternative to mlockall using mlock to reduce pinned memory size. - Add use_mlockall and mlock_filter to activation section of lvm.conf. @@ -460,10 +666,12 @@ the device-mapper event library. - Add --help option as synonym for help command. - Add lvm2app functions lvm_{vg|lv}_{get|add|remove}_tag() functions. - Refactor snapshot-merge deptree and device removal to support info-by-uuid. + +* Fri Mar 05 2010 Peter Rajnoha - 2.02.61-2 - Change spec file to support excluding cluster components from the build. * Tue Feb 16 2010 Alasdair Kergon - 2.02.61-1 -- Add %ORIGIN support to lv{create,extend,reduce,resize} --extents. +- Add %%ORIGIN support to lv{create,extend,reduce,resize} --extents. - Accept a list of LVs with 'lvconvert --merge @tag' using process_each_lv. - Remove false "failed to find tree node" error when activating merging origin. - Exit with success when lvconvert --repair --use-policies performs no action. @@ -583,7 +791,7 @@ the device-mapper event library. * Thu Nov 19 2009 Alasdair Kergon - 2.02.55-1 - Fix deadlock when changing mirrors due to unpaired memlock refcount changes. - Fix pvmove region_size overflow for very large PVs. -- Fix lvcreate and lvresize %PVS argument always to use sensible total size. +- Fix lvcreate and lvresize %%PVS argument always to use sensible total size. - Directly restrict vgchange to activating visible LVs. - Fix hash lookup segfault when keys compared are different lengths. - Flush stdout after yes/no prompt. diff --git a/sources b/sources index d0d36cd..ffddd40 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -72e3d66dc42aaf67dca475196a113528 LVM2.2.02.62.tgz +a7d0d1235a589869bd13cde0f0d7375d LVM2.2.02.72.tgz diff --git a/upstream b/upstream index 0c29abc..eacb8bd 100644 --- a/upstream +++ b/upstream @@ -1 +1 @@ -LVM2.2.02.62.tgz +LVM2.2.02.72.tgz