From ae0dd8ecd9ee9235946e4395a2ad8fba28bd8bbc Mon Sep 17 00:00:00 2001 From: Alasdair G Kergon Date: Aug 02 2010 21:20:57 +0000 Subject: merge f12 with rawhide --- diff --git a/.gitignore b/.gitignore index 6cef5dc..ba87906 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ -LVM2.2.02.53.tgz +LVM2.2.02.70.tgz +LVM2.2.02.72.tgz diff --git a/LVM2.2.02.53.tgz.asc b/LVM2.2.02.53.tgz.asc deleted file mode 100644 index 9a09694..0000000 --- a/LVM2.2.02.53.tgz.asc +++ /dev/null @@ -1,7 +0,0 @@ ------BEGIN PGP SIGNATURE----- -Version: GnuPG v1.2.1 (GNU/Linux) - -iD8DBQBKvWHJIoGRwVZ+LBcRAt+NAKDEHvi7qzQ00t7fHZa6jTVi5R8+iwCgxu4x -jO0LOdDliisL4wAWGktfQfc= -=pPUb ------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/cluster-locking-built-in.patch b/cluster-locking-built-in.patch deleted file mode 100644 index 52fb823..0000000 --- a/cluster-locking-built-in.patch +++ /dev/null @@ -1,100 +0,0 @@ ---- LVM2.2.02.12-old/scripts/lvmconf.sh 2006-09-20 18:36:47.000000000 +0100 -+++ LVM2.2.02.12/scripts/lvmconf.sh 2006-10-20 19:20:26.000000000 +0100 -@@ -36,7 +36,7 @@ function parse_args - while [ -n "$1" ]; do - case $1 in - --enable-cluster) -- LOCKING_TYPE=2 -+ LOCKING_TYPE=3 - shift - ;; - --disable-cluster) -@@ -94,15 +94,13 @@ function validate_args - - if [ -n "$LOCKINGLIBDIR" ]; then - -- [ -z "$LOCKINGLIB" ] && LOCKINGLIB="liblvm2clusterlock.so" -- - if [ "${LOCKINGLIBDIR:0:1}" != "/" ] - then - echo "Prefix must be an absolute path name (starting with a /)" - exit 12 - fi - -- if [ ! -f "$LOCKINGLIBDIR/$LOCKINGLIB" ] -+ if [ -n "$LOCKINGLIB" ] && [ ! -f "$LOCKINGLIBDIR/$LOCKINGLIB" ] - then - echo "$LOCKINGLIBDIR/$LOCKINGLIB does not exist, did you do a \"make install\" ?" - exit 11 -@@ -170,13 +168,29 @@ then - if [ -z "$LOCKING_TYPE" ]; then - LOCKING_TYPE=1 - fi -- if [ "$LOCKING_TYPE" = "2" ]; then -+ if [ "$LOCKING_TYPE" = "3" ] || [ "$LOCKING_TYPE" = "2" ]; then - cat $CONFIGFILE - < $TMPFILE - global { - # Enable locking for cluster LVM - locking_type = $LOCKING_TYPE - library_dir = "$LOCKINGLIBDIR" -+EOF -+ if [ $? != 0 ] -+ then -+ echo "failed to create temporary config file, $CONFIGFILE not updated" -+ exit 14 -+ fi -+ if [ -n "$LOCKINGLIB" ]; then -+ cat - <> $TMPFILE - locking_library = "$LOCKINGLIB" -+EOF -+ if [ $? != 0 ] -+ then -+ echo "failed to create temporary config file, $CONFIGFILE not updated" -+ exit 16 -+ fi -+ fi -+ cat - <> $TMPFILE - } - EOF - fi # if we aren't setting cluster locking, we don't need to create a global section -@@ -184,7 +198,7 @@ EOF - if [ $? != 0 ] - then - echo "failed to create temporary config file, $CONFIGFILE not updated" -- exit 14 -+ exit 17 - fi - else - # -@@ -208,8 +222,10 @@ else - else - SEDCMD="${SEDCMD}\n/global[[:blank:]]*{/a\ \ \ \ library_dir = \"$LOCKINGLIBDIR\"" - fi -+ fi - -- if [ "$have_library" = "0" ] -+ if [ -n "$LOCKINGLIB" ]; then -+ if [ "$have_library" = "0" ] - then - SEDCMD="${SEDCMD}\ns/^[[:blank:]]*locking_library[[:blank:]]*=.*/\ \ \ \ locking_library = \"$LOCKINGLIB\"/g" - else -@@ -217,19 +233,6 @@ else - fi - fi - -- if [ "$LOCKING_TYPE" = "1" ]; then -- # if we're not using cluster locking, remove the library dir and locking library name -- if [ "$have_dir" = "0" ] -- then -- SEDCMD="${SEDCMD}\n/^[[:blank:]]*library_dir[[:blank:]]*=.*/d" -- fi -- -- if [ "$have_library" = "0" ] -- then -- SEDCMD="${SEDCMD}\n/^[[:blank:]]*locking_library[[:blank:]]*=.*/d" -- fi -- fi -- - echo -e $SEDCMD > $SCRIPTFILE - sed <$CONFIGFILE >$TMPFILE -f $SCRIPTFILE - if [ $? != 0 ] 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 new file mode 100644 index 0000000..5e1e1b6 --- /dev/null +++ b/lvm2-set-default-preferred_names.patch @@ -0,0 +1,15 @@ +--- 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 + # list of regular expressions in turn and the first match is used. +- preferred_names = [ ] ++ # preferred_names = [ ] + + # Try to avoid using undescriptive /dev/dm-N names, if present. +- # preferred_names = [ "^/dev/mpath/", "^/dev/mapper/mpath", "^/dev/[hs]d" ] ++ preferred_names = [ "^/dev/mpath/", "^/dev/mapper/mpath", "^/dev/[hs]d" ] + + # A filter that tells LVM2 to only use a restricted set of devices. + # The filter consists of an array of regular expressions. These diff --git a/lvm2.spec b/lvm2.spec index 3c44025..8b98b6f 100644 --- a/lvm2.spec +++ b/lvm2.spec @@ -1,37 +1,58 @@ -%define device_mapper_version 1.02.38 -%define corosync_version 1.0.0-1 -%define clusterlib_version 3.0.0-20 +%define device_mapper_version 1.02.53 +%define enable_cluster 1 + +%if "%{fedora}" == "12" +%define enable_udev 0 +%else +%if "%{fedora}" == "13" +%define enable_udev 1 +%define udev_version 153-1 +%else +%define enable_udev 1 +%define udev_version 158-1 +%endif +%endif + +%if %{enable_cluster} +%define corosync_version 1.2.0-1 +%define openais_version 1.1.1-1 +%define clusterlib_version 3.0.6-1 +%define configure_cluster --with-cluster=internal --with-clvmd=cman,openais,corosync --enable-cmirrord +%else +%define configure_cluster --with-cluster=internal --with-clvmd=none --disable-cmirrord +%endif # Do not reset Release to 1 unless both lvm2 and device-mapper # versions are increased together. Summary: Userland logical volume management tools Name: lvm2 -Version: 2.02.53 -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 - -# Customise lvmconf.sh for built-in clustered locking in Fedora -Patch0: cluster-locking-built-in.patch +Patch0: lvm2-set-default-preferred_names.patch +Patch1: lvm2-2_02_73-fix-exported-syms.patch BuildRequires: libselinux-devel >= 1.30.19-4, libsepol-devel BuildRequires: ncurses-devel BuildRequires: readline-devel +%if %{enable_cluster} BuildRequires: corosynclib-devel >= %{corosync_version} +BuildRequires: openaislib-devel >= %{openais_version} BuildRequires: clusterlib-devel >= %{clusterlib_version} +%endif BuildRequires: module-init-tools BuildRequires: pkgconfig -Requires: device-mapper >= %{device_mapper_version}-%{release} -Requires: device-mapper-event >= %{device_mapper_version}-%{release} +%if %{enable_udev} +BuildRequires: libudev-devel +%endif 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 @@ -43,30 +64,29 @@ or more physical volumes and creating one or more logical volumes %prep %setup -q -n LVM2.%{version} -%patch0 -p1 -b .locking +%patch0 -p1 -b preferred_names +%patch1 -p1 -b exported_syms %build -%define _exec_prefix / +%define _exec_prefix "" %define _bindir /bin %define _sbindir /sbin %define _libdir /%{_lib} +%if %{enable_udev} +%define _udevbasedir /lib/udev +%define _udevdir %{_udevbasedir}/rules.d +%define configure_udev --with-udevdir=%{_udevdir} --enable-udev_sync +%endif -%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 --enable-dmeventd + +%configure --enable-lvm1_fallback --enable-fsadm --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 --enable-dmeventd %{configure_cluster} %{?configure_udev} 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 -install scripts/clvmd_init_red_hat $RPM_BUILD_ROOT/etc/rc.d/init.d/clvmd -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 @@ -83,6 +103,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 @@ -129,6 +150,7 @@ fi %{_sbindir}/vgs %{_sbindir}/vgscan %{_sbindir}/vgsplit +%{_sbindir}/lvmconf %{_mandir}/man5/lvm.conf.5.gz %{_mandir}/man8/fsadm.8.gz %{_mandir}/man8/lvchange.8.gz @@ -138,8 +160,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 @@ -174,13 +199,17 @@ fi %{_mandir}/man8/vgs.8.gz %{_mandir}/man8/vgscan.8.gz %{_mandir}/man8/vgsplit.8.gz +%if %{enable_udev} +%{_udevdir}/11-dm-lvm.rules +%endif %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 ############################################################################## @@ -191,7 +220,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 @@ -202,16 +230,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. @@ -221,16 +251,21 @@ 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-lvm2mirror.so.* -%attr(755,root,root) %{_libdir}/libdevmapper-event-lvm2snapshot.so.* +%attr(755,root,root) %{_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 ############################################################################## # Cluster subpackage ############################################################################## +%if %{enable_cluster} + %package cluster Summary: Cluster extensions for userland logical volume management tools License: GPLv2 @@ -241,29 +276,63 @@ Requires(preun): chkconfig Requires(preun): device-mapper >= %{device_mapper_version} Requires(preun): lvm2 >= 2.02 Requires: corosync >= %{corosync_version} -Requires: clusterlib >= %{clusterlib_version} +Requires: openais >= %{openais_version} +Requires: cman >= %{clusterlib_version} %description cluster + 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 - /sbin/lvmconf --disable-cluster + /sbin/chkconfig --del clvmd + /sbin/lvmconf --disable-cluster fi %files cluster %defattr(-,root,root,-) %attr(755,root,root) /usr/sbin/clvmd -%{_sbindir}/lvmconf %{_mandir}/man8/clvmd.8.gz /etc/rc.d/init.d/clvmd +%endif + +############################################################################## +# Cluster mirror subpackage +############################################################################## +%if %{enable_cluster} + +%package -n cmirror +Summary: Daemon for device-mapper-based clustered mirrors +Group: System Environment/Base +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. + +%post -n cmirror +/sbin/chkconfig --add cmirrord + +%preun -n cmirror +if [ "$1" = 0 ]; then + /sbin/chkconfig --del cmirrord +fi + +%files -n cmirror +%defattr(-,root,root,-) +%attr(755,root,root) /usr/sbin/cmirrord +%{_mandir}/man8/cmirrord.8.gz +/etc/rc.d/init.d/cmirrord + +%endif + ############################################################################## # Device-mapper subpackages ############################################################################## @@ -275,6 +344,14 @@ License: GPLv2 Group: System Environment/Base URL: http://sources.redhat.com/dm Requires: device-mapper-libs = %{device_mapper_version}-%{release} +Requires: util-linux-ng >= 2.15 +%if %{enable_udev} +Requires: udev >= %{udev_version} +Requires: libudev +# We need dracut to install required udev rules if udev_sync +# feature is turned on so we don't lose required notifications. +Conflicts: dracut < 002-18 +%endif %description -n device-mapper This package contains the supporting userspace utility, dmsetup, @@ -285,6 +362,14 @@ for the kernel device-mapper. %doc COPYING COPYING.LIB WHATS_NEW_DM VERSION_DM README INSTALL %attr(755,root,root) /sbin/dmsetup %{_mandir}/man8/dmsetup.8.gz +%if %{enable_udev} +%doc udev/12-dm-permissions.rules +%dir %{_udevbasedir} +%dir %{_udevdir} +%{_udevdir}/10-dm.rules +%{_udevdir}/13-dm-disk.rules +%{_udevdir}/95-dm-notify.rules +%endif %package -n device-mapper-devel Summary: Development libraries and headers for device-mapper @@ -293,7 +378,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 @@ -302,7 +386,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 @@ -312,7 +396,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. @@ -339,6 +423,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 @@ -356,7 +441,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 @@ -373,12 +458,404 @@ 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 +* Mon Aug 2 2010 Alasdair Kergon - 2.02.72-5 +- Make udev configurable and merge with f12. + +* 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. +- 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. +- Handle misaligned devices that report alignment_offset of -1. +- Extend core allocation code in preparation for mirrored log areas. +- No longer fall back to looking up active devices by name if uuid not found. +- Don't touch /dev in vgmknodes if activation is disabled. +- Add --showkeys parameter description to dmsetup man page. +- 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. +- 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. +- Avoid unnecessary second resync when adding mimage to core-logged mirror. +- Make clvmd -V return status zero. +- Fix cmirrord segfault in clog_cpg list processing when converting mirror log. +- Deactivate temporary pvmove mirror cluster-wide when activating it fails. +- Add missing metadata vg_reverts in pvmove error paths. +- Unlock shared lock in clvmd if activation calls fail. +- Add lvm_pv_get_size, lvm_pv_get_free and lvm_pv_get_dev_size to lvm2app. +- Change lvm2app to return all sizes in bytes as documented (not sectors). +- Exclude internal VG names and uuids from lists returned through lvm2app. +- Add LVM_SUPPRESS_LOCKING_FAILURE_MESSAGES environment variable. +- Add DM_UDEV_DISABLE_LIBRARY_FALLBACK udev flag to rely on udev only. +- Remove hard-coding that skipped _mimage devices from 11-dm-lvm.rules. +- Export dm_udev_create_cookie function to create new cookies on demand. +- Add --udevcookie, udevcreatecookie and udevreleasecookie to dmsetup. +- Set udev state automatically instead of using DM_UDEV_DISABLE_CHECKING. +- Set udev state automatically instead of using LVM_UDEV_DISABLE_CHECKING. +- Remove pointless versioned symlinks to dmeventd plugin libraries. + +* Fri Jan 29 2010 Alasdair Kergon - 2.02.60-5 +- Replace spaces with tabs in a couple of places in spec file. + +* Sat Jan 23 2010 Alasdair Kergon - 2.02.60-4 +- Extend cmirrord man page. +- Sleep before first progress check iff pvmove/lvconvert interval has prefix '+'. +- Fix cmirror initscript syntax problems. +- Fix first syslog message prefix for dmeventd plugins. +- Make failed locking initialisation messages more descriptive. + +* Fri Jan 22 2010 Alasdair Kergon - 2.02.59-3 +- Fix dmeventd lvm2 wrapper (plug-ins unusable in last build). +- Make failed locking initialisation messages more descriptive. + +* Fri Jan 22 2010 Fabio M. Di Nitto - 2.02.59-2 +- Drop duplicated BuildRequires on openaislib-devel. +- Drop Requires on clusterlib for cmirror subpackage. +- clvmd subpackage should Requires cman (#506592). + +* Fri Jan 22 2010 Alasdair Kergon - 2.02.59-1 +- Add cmirror subpackage for clustered mirrors. +- Set 'preferred_names' in default lvm.conf. +- Add libdevmapper-event-lvm2.so to serialise dmeventd plugin liblvm2cmd use. +- Stop dmeventd trying to access already-removed snapshots. +- Fix clvmd to never scan suspended devices. +- Fix detection of completed snapshot merge. +- Improve snapshot merge metadata import validation. + +* Thu Jan 14 2010 Alasdair Kergon - 2.02.58-1 +- Fix clvmd automatic target module loading crash. +- Fix allocation code not to stop at the first area of a PV that fits. +- Add support for the "snapshot-merge" kernel target (2.6.33-rc1). +- Add --merge to lvconvert to merge a snapshot into its origin. + +* Tue Jan 12 2010 Alasdair Kergon - 2.02.57-1 +- Add --splitmirrors to lvconvert to split off part of a mirror. +- Allow vgremove to remove a VG with PVs missing after a prompt. +- Add activation/udev_rules config option in lvm.conf. +- Add --poll flag to vgchange and lvchange to control background daemon launch. +- Impose limit of 8 mirror images to match the in-kernel kcopyd restriction. +- Log failure type and recognise type 'F' (flush) in dmeventd mirror plugin. +- Add --noudevrules option for dmsetup to disable /dev node management by udev. +- Fix 'dmsetup info -c -o all' to show all fields. +- Fix coredump and memory leak for 'dmsetup help -c'. +- Rename mirror_device_fault_policy to mirror_image_fault policy. +- Use extended status of new kernel snapshot target 1.8.0 to detect when empty. +- Allow use of precommitted metadata when a PV is missing. +- Add global/abort_on_internal_errors to lvm.conf to assist testing. +- If aborting due to internal error, always send that message to stderr. +- Keep log type consistent when changing mirror image count. +- Exit with success in lvconvert --repair --use-policies on failed allocation. +- Ensure any background daemon exits without duplicating parent's functionality. +- Change background daemon process names to "(lvm2)". +- Fix internal lock state after forking. +- Remove empty PV devices if lvconvert --repair is using defined policies. +- Use fixed buffer to prevent stack overflow in persistent filter dump. +- Propagate metadata commit and revert notifications to other cluster nodes. +- Fix metadata caching and lock state propagation to remote nodes in clvmd. +- Properly decode all flags in clvmd messages including VG locks. +- Drop cached metadata after device was auto-repaired and removed from VG. +- Clear MISSING_PV flag if PV reappeared and is empty. +- Fix removal of multiple devices from a mirror. +- Also clean up PVs flagged as missing in vgreduce --removemissing --force. +- Fix some pvresize and toollib error paths with missing VG releases/unlocks. +- Explicitly call suspend for temporary mirror layer. +- Add memlock information to do_lock_lv debug output. +- Always bypass calls to remote cluster nodes for non-clustered VGs. +- Permit implicit cluster lock conversion in pre/post callbacks on local node. +- Permit implicit cluster lock conversion to the lock mode already held. +- Fix lock flag masking in clvmd so intended code paths get invoked. +- Remove newly-created mirror log from metadata if initial deactivation fails. +- Improve pvmove error message when all source LVs are skipped. +- Fix memlock imbalance in lv_suspend if already suspended. +- Fix pvmove test mode not to poll (and fail). +- Fix vgcreate error message if VG already exists. +- Fix tools to use log_error when aborted due to user response to prompt. +- Fix ignored readahead setting in lvcreate --readahead. +- Fix clvmd memory leak in lv_info_by_lvid by calling release_vg. +- If LVM_UDEV_DISABLE_CHECKING is set in environment, disable udev warnings. +- If DM_UDEV_DISABLE_CHECKING is set in environment, disable udev warnings. +- Always set environment variables for an LVM2 device in 11-dm-lvm.rules. +- Disable udev rules for change events with DISK_RO set. +- Add dm_tree_add_dev_with_udev_flags to provide wider support for udev flags. +- Correct activated or deactivated text in vgchange summary message. +- Fix fsadm man page typo (fsdam). + +* Tue Nov 24 2009 Alasdair Kergon - 2.02.56-2 +- Revert vg_read_internal change as clvmd was not ready for vg_read. (2.02.55) +- Fix unbalanced memory locking when deactivating LVs. +- Add missing vg_release to pvs and pvdisplay to fix memory leak. +- Do not try to unlock VG which is not locked when processing a VG. +- Update .cache file after every full device rescan in clvmd. +- Refresh all device filters (including sysfs) before each full device rescan. +- Return error status if vgchange fails to activate any volume. + +* 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. +- Directly restrict vgchange to activating visible LVs. +- Fix hash lookup segfault when keys compared are different lengths. +- Flush stdout after yes/no prompt. +- Recognise DRBD devices and handle them like md devices. +- Add dmsetup --inactive support (requires kernel support targetted for 2.6.33). + +* Fri Nov 13 2009 Peter Rajnoha - 2.02.54-3 +- Support udev flags even when udev_sync is disabled. +- Remove last_rule from udev_rules. +- Udev rules cleanup. + +* Tue Nov 3 2009 Peter Rajnoha - 2.02.54-2 +- Enable udev synchronisation code. +- Install default udev rules for device-mapper and LVM2. +- Add BuildRequires: libudev-devel. +- Add Requires: libudev (to check udev is running). +- Add Requires: util-linux-ng (blkid used in udev rules). +- Add Conflicts: dracut < 002-18 (for dracut to install required udev rules) + +* Tue Oct 27 2009 Alasdair Kergon - 2.02.54-1 +- Add implict pvcreate support to vgcreate and vgextend. +- Add --pvmetadatacopies for pvcreate, vgcreate, vgextend, vgconvert. +- Distinguish between powers of 1000 and powers of 1024 in unit suffixes. +- Restart lvconverts in vgchange. +- Don't attempt to deactivate an LV if any of its snapshots are in use. +- Return error if lv_deactivate fails to remove device from kernel. +- Treat input units of both 's' and 'S' as 512-byte sectors. (2.02.49) +- Use standard output units for 'PE Size' and 'Stripe size' in pv/lvdisplay. +- Add global/si_unit_consistency to enable cleaned-up use of units in output. +- Only do lock conversions in clvmd if we are explicitly asked for one. +- Fix clvmd segfault when refresh_toolcontext fails. +- Cleanup mimagetmp LV if allocation fails for new lvconvert mimage. +- Handle metadata with unknown segment types more gracefully. +- Make clvmd return 0 on success rather than 1. +- Correct example.conf to indicate that lvm2 not lvm1 is the default format. +- Delay announcing mirror monitoring to syslog until initialisation succeeded. +- Update lvcreate/lvconvert man pages to explain PhysicalVolume parameter. +- Document --all option in man pages and cleanup {pv|vg|lv}{s|display} pages. + +* Mon Oct 19 2009 Fabio M. Di Nitto - 2.02.53-3 +- Enable openais support in clvmd. + * Fri Sep 25 2009 Alasdair Kergon - 2.02.53-2 - Reissued tarball to fix compilation warning from lvm2_log_fn prototype. diff --git a/sources b/sources index 05a4d51..ffddd40 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -f9ae3579bf15467b7f1d7aea8b9ed9b3 LVM2.2.02.53.tgz +a7d0d1235a589869bd13cde0f0d7375d LVM2.2.02.72.tgz diff --git a/upstream b/upstream index 6cef5dc..eacb8bd 100644 --- a/upstream +++ b/upstream @@ -1 +1 @@ -LVM2.2.02.53.tgz +LVM2.2.02.72.tgz