merge f12 with rawhide

This commit is contained in:
Alasdair G Kergon 2010-08-02 22:20:57 +01:00
parent f667b0cc4c
commit ae0dd8ecd9
9 changed files with 684 additions and 153 deletions

3
.gitignore vendored
View File

@ -1 +1,2 @@
LVM2.2.02.53.tgz LVM2.2.02.70.tgz
LVM2.2.02.72.tgz

View File

@ -1,7 +0,0 @@
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (GNU/Linux)
iD8DBQBKvWHJIoGRwVZ+LBcRAt+NAKDEHvi7qzQ00t7fHZa6jTVi5R8+iwCgxu4x
jO0LOdDliisL4wAWGktfQfc=
=pPUb
-----END PGP SIGNATURE-----

7
LVM2.2.02.72.tgz.asc Normal file
View File

@ -0,0 +1,7 @@
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (GNU/Linux)
iD8DBQBMUDmbIoGRwVZ+LBcRAtqFAJsGv2xsspvC4GskuEfap8NF3BR3yQCg7saR
50pTyxMvirUMtbSgoaZ99eY=
=JwxI
-----END PGP SIGNATURE-----

View File

@ -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 - <<EOF > $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 - <<EOF >> $TMPFILE
locking_library = "$LOCKINGLIB"
+EOF
+ if [ $? != 0 ]
+ then
+ echo "failed to create temporary config file, $CONFIGFILE not updated"
+ exit 16
+ fi
+ fi
+ cat - <<EOF >> $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 ]

View File

@ -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 <libdevmapper.h>
#include <stdint.h>
--- 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)

View File

@ -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

559
lvm2.spec
View File

@ -1,37 +1,58 @@
%define device_mapper_version 1.02.38 %define device_mapper_version 1.02.53
%define corosync_version 1.0.0-1 %define enable_cluster 1
%define clusterlib_version 3.0.0-20
%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 # Do not reset Release to 1 unless both lvm2 and device-mapper
# versions are increased together. # versions are increased together.
Summary: Userland logical volume management tools Summary: Userland logical volume management tools
Name: lvm2 Name: lvm2
Version: 2.02.53 Version: 2.02.72
Release: 2%{?dist} Release: 4%{?dist}
License: GPLv2 License: GPLv2
Group: System Environment/Base Group: System Environment/Base
URL: http://sources.redhat.com/lvm2 URL: http://sources.redhat.com/lvm2
Source0: ftp://sources.redhat.com/pub/lvm2/LVM2.%{version}.tgz Source0: ftp://sources.redhat.com/pub/lvm2/LVM2.%{version}.tgz
Patch0: lvm2-set-default-preferred_names.patch
# Customise lvmconf.sh for built-in clustered locking in Fedora Patch1: lvm2-2_02_73-fix-exported-syms.patch
Patch0: cluster-locking-built-in.patch
BuildRequires: libselinux-devel >= 1.30.19-4, libsepol-devel BuildRequires: libselinux-devel >= 1.30.19-4, libsepol-devel
BuildRequires: ncurses-devel BuildRequires: ncurses-devel
BuildRequires: readline-devel BuildRequires: readline-devel
%if %{enable_cluster}
BuildRequires: corosynclib-devel >= %{corosync_version} BuildRequires: corosynclib-devel >= %{corosync_version}
BuildRequires: openaislib-devel >= %{openais_version}
BuildRequires: clusterlib-devel >= %{clusterlib_version} BuildRequires: clusterlib-devel >= %{clusterlib_version}
%endif
BuildRequires: module-init-tools BuildRequires: module-init-tools
BuildRequires: pkgconfig BuildRequires: pkgconfig
Requires: device-mapper >= %{device_mapper_version}-%{release} %if %{enable_udev}
Requires: device-mapper-event >= %{device_mapper_version}-%{release} BuildRequires: libudev-devel
%endif
Requires: %{name}-libs = %{version}-%{release} Requires: %{name}-libs = %{version}-%{release}
Requires: module-init-tools Requires: module-init-tools
Requires(post): chkconfig Requires(post): chkconfig
Requires(preun): chkconfig Requires(preun): chkconfig
Conflicts: lvm
Obsoletes: lvm
%description %description
LVM2 includes all of the support for handling read/write operations on 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 %prep
%setup -q -n LVM2.%{version} %setup -q -n LVM2.%{version}
%patch0 -p1 -b .locking %patch0 -p1 -b preferred_names
%patch1 -p1 -b exported_syms
%build %build
%define _exec_prefix / %define _exec_prefix ""
%define _bindir /bin %define _bindir /bin
%define _sbindir /sbin %define _sbindir /sbin
%define _libdir /%{_lib} %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} make %{?_smp_mflags}
%install %install
make install DESTDIR=$RPM_BUILD_ROOT make install DESTDIR=$RPM_BUILD_ROOT
install -m 0700 -d $RPM_BUILD_ROOT/etc/lvm/archive make install_system_dirs DESTDIR=$RPM_BUILD_ROOT
install -m 0700 -d $RPM_BUILD_ROOT/etc/lvm/backup make install_initscripts DESTDIR=$RPM_BUILD_ROOT
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
%clean %clean
rm -rf $RPM_BUILD_ROOT rm -rf $RPM_BUILD_ROOT
@ -83,6 +103,7 @@ fi
%files %files
%defattr(-,root,root,-) %defattr(-,root,root,-)
%doc COPYING COPYING.LIB INSTALL README VERSION WHATS_NEW %doc COPYING COPYING.LIB INSTALL README VERSION WHATS_NEW
%doc doc/lvm_fault_handling.txt
%{_sbindir}/fsadm %{_sbindir}/fsadm
%{_sbindir}/lvchange %{_sbindir}/lvchange
%{_sbindir}/lvconvert %{_sbindir}/lvconvert
@ -129,6 +150,7 @@ fi
%{_sbindir}/vgs %{_sbindir}/vgs
%{_sbindir}/vgscan %{_sbindir}/vgscan
%{_sbindir}/vgsplit %{_sbindir}/vgsplit
%{_sbindir}/lvmconf
%{_mandir}/man5/lvm.conf.5.gz %{_mandir}/man5/lvm.conf.5.gz
%{_mandir}/man8/fsadm.8.gz %{_mandir}/man8/fsadm.8.gz
%{_mandir}/man8/lvchange.8.gz %{_mandir}/man8/lvchange.8.gz
@ -138,8 +160,11 @@ fi
%{_mandir}/man8/lvextend.8.gz %{_mandir}/man8/lvextend.8.gz
%{_mandir}/man8/lvm.8.gz %{_mandir}/man8/lvm.8.gz
%{_mandir}/man8/lvmchange.8.gz %{_mandir}/man8/lvmchange.8.gz
%{_mandir}/man8/lvmconf.8.gz
%{_mandir}/man8/lvmdiskscan.8.gz %{_mandir}/man8/lvmdiskscan.8.gz
%{_mandir}/man8/lvmdump.8.gz %{_mandir}/man8/lvmdump.8.gz
%{_mandir}/man8/lvmsadc.8.gz
%{_mandir}/man8/lvmsar.8.gz
%{_mandir}/man8/lvreduce.8.gz %{_mandir}/man8/lvreduce.8.gz
%{_mandir}/man8/lvremove.8.gz %{_mandir}/man8/lvremove.8.gz
%{_mandir}/man8/lvrename.8.gz %{_mandir}/man8/lvrename.8.gz
@ -174,13 +199,17 @@ fi
%{_mandir}/man8/vgs.8.gz %{_mandir}/man8/vgs.8.gz
%{_mandir}/man8/vgscan.8.gz %{_mandir}/man8/vgscan.8.gz
%{_mandir}/man8/vgsplit.8.gz %{_mandir}/man8/vgsplit.8.gz
%if %{enable_udev}
%{_udevdir}/11-dm-lvm.rules
%endif
%dir /etc/lvm %dir /etc/lvm
%ghost /etc/lvm/cache/.cache %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/backup
%dir /etc/lvm/cache %dir /etc/lvm/cache
%dir /etc/lvm/archive %dir /etc/lvm/archive
%dir /var/lock/lvm %dir /var/lock/lvm
%dir /var/run/lvm
/etc/rc.d/init.d/lvm2-monitor /etc/rc.d/init.d/lvm2-monitor
############################################################################## ##############################################################################
@ -191,7 +220,6 @@ Summary: Development libraries and headers
Group: Development/Libraries Group: Development/Libraries
License: LGPLv2 License: LGPLv2
Requires: %{name} = %{version}-%{release} Requires: %{name} = %{version}-%{release}
Requires: %{name}-libs = %{version}-%{release}
Requires: device-mapper-devel >= %{device_mapper_version}-%{release} Requires: device-mapper-devel >= %{device_mapper_version}-%{release}
Requires: device-mapper-event-devel >= %{device_mapper_version}-%{release} Requires: device-mapper-event-devel >= %{device_mapper_version}-%{release}
Requires: pkgconfig Requires: pkgconfig
@ -202,16 +230,18 @@ the lvm2 libraries.
%files devel %files devel
%defattr(-,root,root,-) %defattr(-,root,root,-)
%{_libdir}/liblvm2app.so /usr%{_libdir}/liblvm2app.so
%{_libdir}/liblvm2cmd.so /usr%{_libdir}/liblvm2cmd.so
%{_includedir}/lvm2app.h %{_includedir}/lvm2app.h
%{_includedir}/lvm2cmd.h %{_includedir}/lvm2cmd.h
/usr%{_libdir}/pkgconfig/lvm2app.pc /usr%{_libdir}/pkgconfig/lvm2app.pc
/usr%{_libdir}/libdevmapper-event-lvm2.so
%package libs %package libs
Summary: lvm2 shared libraries Summary: Shared libraries for lvm2
License: LGPLv2 License: LGPLv2
Group: System Environment/Libraries Group: System Environment/Libraries
Requires: device-mapper-event >= %{device_mapper_version}-%{release}
%description libs %description libs
This package contains shared lvm2 libraries for applications. 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 %postun libs -p /sbin/ldconfig
%files libs %files libs
%defattr(-,root,root,-)
%attr(755,root,root) %{_libdir}/liblvm2app.so.* %attr(755,root,root) %{_libdir}/liblvm2app.so.*
%attr(755,root,root) %{_libdir}/liblvm2cmd.so.* %attr(755,root,root) %{_libdir}/liblvm2cmd.so.*
%attr(755,root,root) %{_libdir}/libdevmapper-event-lvm2mirror.so.* %attr(755,root,root) %{_libdir}/libdevmapper-event-lvm2.so.*
%attr(755,root,root) %{_libdir}/libdevmapper-event-lvm2snapshot.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-lvm2mirror.so
%{_libdir}/libdevmapper-event-lvm2snapshot.so %{_libdir}/libdevmapper-event-lvm2snapshot.so
############################################################################## ##############################################################################
# Cluster subpackage # Cluster subpackage
############################################################################## ##############################################################################
%if %{enable_cluster}
%package cluster %package cluster
Summary: Cluster extensions for userland logical volume management tools Summary: Cluster extensions for userland logical volume management tools
License: GPLv2 License: GPLv2
@ -241,16 +276,16 @@ Requires(preun): chkconfig
Requires(preun): device-mapper >= %{device_mapper_version} Requires(preun): device-mapper >= %{device_mapper_version}
Requires(preun): lvm2 >= 2.02 Requires(preun): lvm2 >= 2.02
Requires: corosync >= %{corosync_version} Requires: corosync >= %{corosync_version}
Requires: clusterlib >= %{clusterlib_version} Requires: openais >= %{openais_version}
Requires: cman >= %{clusterlib_version}
%description cluster %description cluster
Extensions to LVM2 to support clusters. Extensions to LVM2 to support clusters.
%post cluster %post cluster
/sbin/chkconfig --add clvmd /sbin/chkconfig --add clvmd
/sbin/lvmconf --lockinglibdir %{_libdir}
%preun cluster %preun cluster
if [ "$1" = 0 ]; then if [ "$1" = 0 ]; then
/sbin/chkconfig --del clvmd /sbin/chkconfig --del clvmd
@ -260,10 +295,44 @@ fi
%files cluster %files cluster
%defattr(-,root,root,-) %defattr(-,root,root,-)
%attr(755,root,root) /usr/sbin/clvmd %attr(755,root,root) /usr/sbin/clvmd
%{_sbindir}/lvmconf
%{_mandir}/man8/clvmd.8.gz %{_mandir}/man8/clvmd.8.gz
/etc/rc.d/init.d/clvmd /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 # Device-mapper subpackages
############################################################################## ##############################################################################
@ -275,6 +344,14 @@ License: GPLv2
Group: System Environment/Base Group: System Environment/Base
URL: http://sources.redhat.com/dm URL: http://sources.redhat.com/dm
Requires: device-mapper-libs = %{device_mapper_version}-%{release} 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 %description -n device-mapper
This package contains the supporting userspace utility, dmsetup, 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 %doc COPYING COPYING.LIB WHATS_NEW_DM VERSION_DM README INSTALL
%attr(755,root,root) /sbin/dmsetup %attr(755,root,root) /sbin/dmsetup
%{_mandir}/man8/dmsetup.8.gz %{_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 %package -n device-mapper-devel
Summary: Development libraries and headers for device-mapper Summary: Development libraries and headers for device-mapper
@ -293,7 +378,6 @@ Release: %{release}
License: LGPLv2 License: LGPLv2
Group: Development/Libraries Group: Development/Libraries
Requires: device-mapper = %{device_mapper_version}-%{release} Requires: device-mapper = %{device_mapper_version}-%{release}
Requires: device-mapper-libs = %{device_mapper_version}-%{release}
Requires: pkgconfig Requires: pkgconfig
%description -n device-mapper-devel %description -n device-mapper-devel
@ -302,7 +386,7 @@ the device-mapper libraries.
%files -n device-mapper-devel %files -n device-mapper-devel
%defattr(-,root,root,-) %defattr(-,root,root,-)
%{_libdir}/libdevmapper.so /usr%{_libdir}/libdevmapper.so
%{_includedir}/libdevmapper.h %{_includedir}/libdevmapper.h
/usr%{_libdir}/pkgconfig/devmapper.pc /usr%{_libdir}/pkgconfig/devmapper.pc
@ -312,7 +396,7 @@ Version: %{device_mapper_version}
Release: %{release} Release: %{release}
License: LGPLv2 License: LGPLv2
Group: System Environment/Libraries Group: System Environment/Libraries
Obsoletes: device-mapper < 1.02.17-6 Requires: device-mapper = %{device_mapper_version}-%{release}
%description -n device-mapper-libs %description -n device-mapper-libs
This package contains the device-mapper shared library, libdevmapper. This package contains the device-mapper shared library, libdevmapper.
@ -339,6 +423,7 @@ of device-mapper devices.
%files -n device-mapper-event %files -n device-mapper-event
%defattr(-,root,root,-) %defattr(-,root,root,-)
%{_sbindir}/dmeventd %{_sbindir}/dmeventd
%{_mandir}/man8/dmeventd.8.gz
%package -n device-mapper-event-libs %package -n device-mapper-event-libs
Summary: Device-mapper event daemon shared library Summary: Device-mapper event daemon shared library
@ -356,7 +441,7 @@ libdevmapper-event.
%postun -n device-mapper-event-libs -p /sbin/ldconfig %postun -n device-mapper-event-libs -p /sbin/ldconfig
%files -n device-mapper-event-libs %files -n device-mapper-event-libs
%{_libdir}/libdevmapper-event.so.* %attr(755,root,root) %{_libdir}/libdevmapper-event.so.*
%package -n device-mapper-event-devel %package -n device-mapper-event-devel
Summary: Development libraries and headers for the device-mapper event daemon 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 %files -n device-mapper-event-devel
%defattr(-,root,root,-) %defattr(-,root,root,-)
%attr(755,root,root) /%{_lib}/libdevmapper-event.so /usr%{_libdir}/libdevmapper-event.so
%{_includedir}/libdevmapper-event.h %{_includedir}/libdevmapper-event.h
/usr%{_libdir}/pkgconfig/devmapper-event.pc /usr%{_libdir}/pkgconfig/devmapper-event.pc
%changelog %changelog
* Mon Aug 2 2010 Alasdair Kergon <agk@redhat.com> - 2.02.72-5
- Make udev configurable and merge with f12.
* Mon Aug 2 2010 Alasdair Kergon <agk@redhat.com> - 2.02.72-4
- Merge f13, f14 and rawhide spec files.
* Sat Jul 31 2010 Alasdair Kergon <agk@redhat.com> - 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 <agk@redhat.com> - 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 <agk@redhat.com> - 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 <agk@redhat.com> - 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 <prajnoha@redhat.com> - 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 <agk@redhat.com> - 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 <agk@redhat.com> - 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 <agk@redhat.com> - 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 <agk@redhat.com> - 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 <agk@redhat.com> - 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 <agk@redhat.com> - 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 <agk@redhat.com> - 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 <agk@redhat.com> - 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 <prajnoha@redhat.com> - 2.02.61-2
- Change spec file to support excluding cluster components from the build.
* Tue Feb 16 2010 Alasdair Kergon <agk@redhat.com> - 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 <agk@redhat.com> - 2.02.60-5
- Replace spaces with tabs in a couple of places in spec file.
* Sat Jan 23 2010 Alasdair Kergon <agk@redhat.com> - 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 <agk@redhat.com> - 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 <fdinitto@redhat.com> - 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 <agk@redhat.com> - 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 <agk@redhat.com> - 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 <agk@redhat.com> - 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 <agk@redhat.com> - 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 <agk@redhat.com> - 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 <prajnoha@redhat.com> - 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 <prajnoha@redhat.com> - 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 <agk@redhat.com> - 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 <fdinitto@redhat.com> - 2.02.53-3
- Enable openais support in clvmd.
* Fri Sep 25 2009 Alasdair Kergon <agk@redhat.com> - 2.02.53-2 * Fri Sep 25 2009 Alasdair Kergon <agk@redhat.com> - 2.02.53-2
- Reissued tarball to fix compilation warning from lvm2_log_fn prototype. - Reissued tarball to fix compilation warning from lvm2_log_fn prototype.

View File

@ -1 +1 @@
f9ae3579bf15467b7f1d7aea8b9ed9b3 LVM2.2.02.53.tgz a7d0d1235a589869bd13cde0f0d7375d LVM2.2.02.72.tgz

View File

@ -1 +1 @@
LVM2.2.02.53.tgz LVM2.2.02.72.tgz