New upstream release (v2.02.105).

This commit is contained in:
Peter Rajnoha 2014-01-21 11:55:50 +01:00
parent 47af91379f
commit 39f07e4f4e
7 changed files with 119 additions and 104 deletions

1
.gitignore vendored
View File

@ -11,3 +11,4 @@
/LVM2.2.02.102.tgz
/LVM2.2.02.103.tgz
/LVM2.2.02.104.tgz
/LVM2.2.02.105.tgz

View File

@ -1,7 +0,0 @@
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
iEYEABECAAYFAlKDiQ4ACgkQIoGRwVZ+LBc0PwCg4iyLn/+zxXfpT3UK028JZTRd
EDoAoKQ7+P+1qcSqlhEs7/5c5GywwqL7
=V0Vj
-----END PGP SIGNATURE-----

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

@ -0,0 +1,7 @@
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
iEYEABECAAYFAlLdeZ8ACgkQIoGRwVZ+LBcElACfZ7bwrzwVSWLVzv4fxEw4L/PM
Ii4AniEmRU9GF+Rxx3s1xdOGfDoQn1AB
=87P7
-----END PGP SIGNATURE-----

View File

@ -1,58 +0,0 @@
commit cc9adc9d85426e53f50f9d6a2a39e82cac545c61
Author: Peter Rajnoha <prajnoha@redhat.com>
Date: Wed Dec 11 13:13:21 2013 +0100
udev: fix SYSTEMD_READY assignment for foreign devices in lvmetad rules
Some devices, similarly to us, are not prepared after ADD event, but
after an extra CHANGE event when the device is properly set up.
This includes MD and loop devices. This patch fixes the
SYSTEMD_READY assignment that is crucial for proper functionality
of SYSTEMD_WANTS that we use to instantiate a lvm2-pvscan@.service
systemd service to activate the VG/LVs (see also bug
info).
All that extra handling of foreign devices should eventually be moved
to rules which process those devices primarily (MD and loop)! We should
only check a dedicated variable whether the device is usable or not.
---
udev/69-dm-lvm-metad.rules.in | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/udev/69-dm-lvm-metad.rules.in b/udev/69-dm-lvm-metad.rules.in
index 5b15b6f..d0b7b2a 100644
--- a/udev/69-dm-lvm-metad.rules.in
+++ b/udev/69-dm-lvm-metad.rules.in
@@ -39,6 +39,8 @@ ACTION=="remove", GOTO="lvm_scan"
# but they require an extra setup and they are ready after a CHANGE event.
# Also support coldplugging with ADD event but only if the device is already
# properly activated.
+# This logic should be eventually moved to rules where those particular
+# devices are processed primarily (MD and loop).
# DM device:
KERNEL!="dm-[0-9]*", GOTO="next"
@@ -52,6 +54,7 @@ IMPORT{db}="LVM_MD_PV_ACTIVATED"
ACTION=="add", ENV{LVM_MD_PV_ACTIVATED}=="1", GOTO="lvm_scan"
ACTION=="change", ENV{LVM_MD_PV_ACTIVATED}!="1", TEST=="md/array_state", ENV{LVM_MD_PV_ACTIVATED}="1", GOTO="lvm_scan"
ACTION=="add", KERNEL=="md[0-9]*p[0-9]*", GOTO="lvm_scan"
+ENV{SYSTEMD_READY}="0"
GOTO="lvm_end"
# Loop device:
@@ -59,6 +62,7 @@ LABEL="next"
KERNEL!="loop[0-9]*", GOTO="next"
ACTION=="add", ENV{LVM_LOOP_PV_ACTIVATED}=="1", GOTO="lvm_scan"
ACTION=="change", ENV{LVM_LOOP_PV_ACTIVATED}!="1", TEST=="loop/backing_file", ENV{LVM_LOOP_PV_ACTIVATED}="1", GOTO="lvm_scan"
+ENV{SYSTEMD_READY}="0"
GOTO="lvm_end"
# If the PV is not a special device listed above, scan only after device addition (ADD event)
@@ -80,6 +84,7 @@ LABEL="lvm_scan"
# MD | | X | X* | |
# loop | | X | X* | |
# other | X | | X | | X
+ENV{SYSTEMD_READY}="1"
(PVSCAN_RULE)
LABEL="lvm_end"

146
lvm2.spec
View File

@ -1,4 +1,4 @@
%define device_mapper_version 1.02.83
%define device_mapper_version 1.02.84
%define enable_thin 1
%define enable_lvmetad 1
@ -7,7 +7,7 @@
%define systemd_version 189-3
%define dracut_version 002-18
%define util_linux_version 2.22.1
%define util_linux_version 2.24
%define bash_version 4.0
%define corosync_version 1.99.9-1
%define dlm_version 3.99.1-1
@ -36,17 +36,17 @@
Summary: Userland logical volume management tools
Name: lvm2
Version: 2.02.104
Release: 4%{?dist}
Version: 2.02.105
Release: 1%{?dist}
License: GPLv2
Group: System Environment/Base
URL: http://sources.redhat.com/lvm2
Source0: ftp://sources.redhat.com/pub/lvm2/releases/LVM2.%{version}.tgz
Patch0: lvm2-set-default-preferred_names.patch
Patch1: lvm2-enable-lvmetad-by-default.patch
Patch2: lvm2-2_02_105-udev-fix-systemd_ready-env-var-assignment-for-foreign-devs-in-lvmetad-rules.patch
BuildRequires: libselinux-devel >= %{libselinux_version}, libsepol-devel
BuildRequires: libblkid-devel >= %{util_linux_version}
BuildRequires: ncurses-devel
BuildRequires: readline-devel
%if %{enable_cluster}
@ -81,7 +81,6 @@ or more physical volumes and creating one or more logical volumes
%setup -q -n LVM2.%{version}
%patch0 -p1 -b .preferred_names
%patch1 -p1 -b .enable_lvmetad
%patch2 -p1 -b .systemd_ready
%build
%define _default_pid_dir /run
@ -102,7 +101,7 @@ or more physical volumes and creating one or more logical volumes
%define configure_lvmetad --enable-lvmetad --enable-udev-systemd-background-jobs
%endif
%configure --with-default-dm-run-dir=%{_default_dm_run_dir} --with-default-run-dir=%{_default_run_dir} --with-default-pid-dir=%{_default_pid_dir} --with-default-locking-dir=%{_default_locking_dir} --with-usrlibdir=%{_libdir} --enable-lvm1_fallback --enable-fsadm --with-pool=internal --with-user= --with-group= --with-device-uid=0 --with-device-gid=6 --with-device-mode=0660 --enable-pkgconfig --enable-applib --enable-cmdlib --enable-python-bindings --enable-dmeventd %{?configure_cluster} %{?configure_cmirror} %{?configure_udev} %{?configure_thin} %{?configure_lvmetad}
%configure --with-default-dm-run-dir=%{_default_dm_run_dir} --with-default-run-dir=%{_default_run_dir} --with-default-pid-dir=%{_default_pid_dir} --with-default-locking-dir=%{_default_locking_dir} --with-usrlibdir=%{_libdir} --enable-lvm1_fallback --enable-fsadm --with-pool=internal --enable-write_install --with-user= --with-group= --with-device-uid=0 --with-device-gid=6 --with-device-mode=0660 --enable-pkgconfig --enable-applib --enable-cmdlib --enable-python-bindings --enable-dmeventd %{?configure_cluster} %{?configure_cmirror} %{?configure_udev} %{?configure_thin} %{?configure_lvmetad}
make %{?_smp_mflags}
@ -146,17 +145,28 @@ rm -rf $RPM_BUILD_ROOT
%defattr(-,root,root,-)
%doc COPYING COPYING.LIB README VERSION WHATS_NEW
%doc doc/lvm_fault_handling.txt
#Main binaries
%defattr(555,root,root,-)
%{_sbindir}/blkdeactivate
%{_sbindir}/fsadm
%{_sbindir}/lvm
%{_sbindir}/lvmconf
%{_sbindir}/lvmdump
%if %{enable_lvmetad}
%{_sbindir}/lvmetad
%endif
%{_sbindir}/vgimportclone
# Other files
%defattr(444,root,root,-)
%{_sbindir}/lvchange
%{_sbindir}/lvconvert
%{_sbindir}/lvcreate
%{_sbindir}/lvdisplay
%{_sbindir}/lvextend
%{_sbindir}/lvm
%{_sbindir}/lvmchange
%{_sbindir}/lvmdiskscan
%{_sbindir}/lvmdump
%{_sbindir}/lvmsadc
%{_sbindir}/lvmsar
%{_sbindir}/lvreduce
@ -184,7 +194,6 @@ rm -rf $RPM_BUILD_ROOT
%{_sbindir}/vgexport
%{_sbindir}/vgextend
%{_sbindir}/vgimport
%{_sbindir}/vgimportclone
%{_sbindir}/vgmerge
%{_sbindir}/vgmknodes
%{_sbindir}/vgreduce
@ -193,10 +202,6 @@ rm -rf $RPM_BUILD_ROOT
%{_sbindir}/vgs
%{_sbindir}/vgscan
%{_sbindir}/vgsplit
%{_sbindir}/lvmconf
%if %{enable_lvmetad}
%{_sbindir}/lvmetad
%endif
%{_mandir}/man5/lvm.conf.5.gz
%{_mandir}/man8/blkdeactivate.8.gz
%{_mandir}/man8/fsadm.8.gz
@ -253,19 +258,19 @@ rm -rf $RPM_BUILD_ROOT
%endif
%dir %{_sysconfdir}/lvm
%ghost %{_sysconfdir}/lvm/cache/.cache
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lvm/lvm.conf
%attr(644, -, -) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lvm/lvm.conf
%dir %{_sysconfdir}/lvm/profile
%{_sysconfdir}/lvm/profile/default.profile
%{_sysconfdir}/lvm/profile/thin-performance.profile
%dir %{_sysconfdir}/lvm/backup
%dir %{_sysconfdir}/lvm/cache
%dir %{_sysconfdir}/lvm/archive
%dir %{_default_locking_dir}
%dir %{_default_run_dir}
%ghost %dir %{_default_locking_dir}
%ghost %dir %{_default_run_dir}
%{_tmpfilesdir}/%{name}.conf
%{_unitdir}/blk-availability.service
%{_unitdir}/lvm2-monitor.service
%{_prefix}/lib/systemd/system-generators/lvm2-activation-generator
%attr(555, -, -) %{_prefix}/lib/systemd/system-generators/lvm2-activation-generator
%if %{enable_lvmetad}
%{_unitdir}/lvm2-lvmetad.socket
%{_unitdir}/lvm2-lvmetad.service
@ -289,7 +294,7 @@ This package contains files needed to develop applications that use
the lvm2 libraries.
%files devel
%defattr(-,root,root,-)
%defattr(444,root,root,-)
%{_libdir}/liblvm2app.so
%{_libdir}/liblvm2cmd.so
%{_includedir}/lvm2app.h
@ -311,10 +316,10 @@ This package contains shared lvm2 libraries for applications.
%postun libs -p /sbin/ldconfig
%files libs
%defattr(-,root,root,-)
%attr(755,root,root) %{_libdir}/liblvm2app.so.*
%attr(755,root,root) %{_libdir}/liblvm2cmd.so.*
%attr(755,root,root) %{_libdir}/libdevmapper-event-lvm2.so.*
%defattr(555,root,root,-)
%{_libdir}/liblvm2app.so.*
%{_libdir}/liblvm2cmd.so.*
%{_libdir}/libdevmapper-event-lvm2.so.*
%dir %{_libdir}/device-mapper
%{_libdir}/device-mapper/libdevmapper-event-lvm2mirror.so
%{_libdir}/device-mapper/libdevmapper-event-lvm2snapshot.so
@ -378,10 +383,10 @@ if [ "$1" = 0 ]; then
fi
%files cluster
%defattr(-,root,root,-)
%attr(755,root,root) /usr/sbin/clvmd
%{_mandir}/man8/clvmd.8.gz
%defattr(555,root,root,-)
%{_sbindir}/clvmd
%{_sysconfdir}/rc.d/init.d/clvmd
%attr(444, -, -) %{_mandir}/man8/clvmd.8.gz
%endif
@ -411,10 +416,10 @@ if [ "$1" = 0 ]; then
fi
%files -n cmirror
%defattr(-,root,root,-)
%attr(755,root,root) /usr/sbin/cmirrord
%{_mandir}/man8/cmirrord.8.gz
%defattr(555,root,root,-)
%{_sbindir}/cmirrord
%{_sysconfdir}/rc.d/init.d/cmirrord
%attr(444, -, -) %{_mandir}/man8/cmirrord.8.gz
%endif
%endif
@ -433,6 +438,7 @@ SysV style init script for LVM2. It needs to be installed only if systemd
is not used as the system init process.
%files sysvinit
%defattr(555,root,root,-)
%{_sysconfdir}/rc.d/init.d/blk-availability
%{_sysconfdir}/rc.d/init.d/lvm2-monitor
%if %{enable_lvmetad}
@ -463,9 +469,10 @@ for the kernel device-mapper.
%files -n device-mapper
%defattr(-,root,root,-)
%doc COPYING COPYING.LIB WHATS_NEW_DM VERSION_DM README
%attr(755,root,root) %{_sbindir}/dmsetup
%{_mandir}/man8/dmsetup.8.gz
%doc udev/12-dm-permissions.rules
%defattr(444,root,root,-)
%attr(555,root,root) %{_sbindir}/dmsetup
%{_mandir}/man8/dmsetup.8.gz
%{_udevdir}/10-dm.rules
%{_udevdir}/13-dm-disk.rules
%{_udevdir}/95-dm-notify.rules
@ -484,7 +491,7 @@ This package contains files needed to develop applications that use
the device-mapper libraries.
%files -n device-mapper-devel
%defattr(-,root,root,-)
%defattr(444,root,root,-)
%{_libdir}/libdevmapper.so
%{_includedir}/libdevmapper.h
%{_libdir}/pkgconfig/devmapper.pc
@ -505,7 +512,8 @@ This package contains the device-mapper shared library, libdevmapper.
%postun -n device-mapper-libs -p /sbin/ldconfig
%files -n device-mapper-libs
%attr(755,root,root) %{_libdir}/libdevmapper.so.*
%defattr(555,root,root,-)
%{_libdir}/libdevmapper.so.*
%package -n device-mapper-event
Summary: Device-mapper event daemon
@ -535,8 +543,8 @@ if [ $1 -ge 1 ]; then
fi
%files -n device-mapper-event
%defattr(-,root,root,-)
%{_sbindir}/dmeventd
%defattr(444,root,root,-)
%attr(555, -, -) %{_sbindir}/dmeventd
%{_mandir}/man8/dmeventd.8.gz
%{_unitdir}/dm-event.socket
%{_unitdir}/dm-event.service
@ -557,7 +565,8 @@ libdevmapper-event.
%postun -n device-mapper-event-libs -p /sbin/ldconfig
%files -n device-mapper-event-libs
%attr(755,root,root) %{_libdir}/libdevmapper-event.so.*
%defattr(555,root,root,-)
%{_libdir}/libdevmapper-event.so.*
%package -n device-mapper-event-devel
Summary: Development libraries and headers for the device-mapper event daemon
@ -573,12 +582,75 @@ This package contains files needed to develop applications that use
the device-mapper event library.
%files -n device-mapper-event-devel
%defattr(-,root,root,-)
%defattr(444,root,root,-)
%{_libdir}/libdevmapper-event.so
%{_includedir}/libdevmapper-event.h
%{_libdir}/pkgconfig/devmapper-event.pc
%changelog
* Tue Jan 21 2014 Peter Rajnoha <prajnoha@redhat.com> - 2.02.105-1
- Fix thin LV flagging for udev to skip scanning only if the LV is wiped.
- Replace use of xfs_check with xfs_repair in fsadm.
- Mark lvm1 format metadata as FMT_OBSOLETE. Do not use it with lvmetad.
- Invalidate cached VG struct after a PV in it gets orphaned. (2.02.87)
- Mark pool format metadata as FMT_OBSOLETE.
- Use major:minor in lvm2-pvscan@.service for proper global_filter application.
- Syntax and spelling fixes in some man pages.
- Dependency scan counts with snapshots and external origins.
- Make sure VG extent size is always greater or equal to PV phys. block size.
- Optimize double call of stat() for cached devices.
- Enable support for thin provisioning for default configuration.
- Disable online thin pool metadata resize for 1.9 kernel thin target.
- Shortened code for initialization of raid segment types.
- Test for remote exclusive activation after activation fails.
- Support lvconvert --merge for thin snapshots.
- Add support to read thin device id from table line entry.
- Drop extra test for origin when testing merging origin in lv_refresh().
- Extend lv_remove_single() to not print info about removed LV.
- Replace open_count check with lv_check_not_in_use() for snapshot open test.
- Add error messages with LV names for failing lv refresh.
- Compile/link executables with new RELRO and PIE options (non-static builds).
- Support per-object compilation cflags via CFLAGS_object.o.
- Automatically detect support for compiler/linker options to use RELRO and PIE.
- Add --splitsnapshot to lvconvert to separate out cow LV.
- Reinstate origin reload to complete lvconvert -s with active LVs. (2.02.98)
- Select only active volume groups if vgdisplay -A is used.
- Add -p and LVM_LVMETAD_PID env var to lvmetad to change pid file.
- Allow lvmetad to reuse stale socket.
- Only unlink lvmetad socket on error if created by the same process.
- Append missing newline to lvmetad missing socket path error message.
- Add allocation/use_blkid_wiping to lvm.conf to enable blkid wiping.
- Enable blkid_wiping by default if the blkid library is present.
- Add configure --disable-blkid_wiping to disable libblkid signature detection.
- Add -W/--wipesignatures lvcreate option to support wiping on new LVs.
- Add allocation/wipe_signatures_when_zeroing_new_lvs to lvm.conf.
- Do not fail the whole autoactivation if the VG refresh done before fails.
- Do not connect to lvmetad on vg/lvchange --sysinit -aay and socket absent.
- Use lv_check_not_in_use() when testing device in use before merging.
- Check for failure of lvmcache_add_mda() when writing pv.
- Check for failure of dev_get_size() when reporting device size.
- Drop extra unneeded '/' when scanning sysfs directory.
- Fix undef value if skipped clustered VG ignored for toollib PV seg. (2.02.103)
- Support validation of VG/LV names in liblvm/python.
- Allow creation of PVs with arguments to liblvm/python.
- Ensure sufficient metadata copies retained in liblvm/python vgreduce.
- Fix installation of profiles from conf subdir when not building in srcdir.
- Show UUIDs for missing PVs in reports.
- Add reporting of thin_id device id for thin volumes.
- Fix reporting of empty numerical values for recently-added fields.
- Revert activation of activated nodes if a node preload callback fails.
- Avoid busy looping on CPU when dmeventd reads event DM_WAIT_RETRY.
- Ensure global mutex is held when working with dmeventd thread.
- Drop taking timeout mutex for un/registering dmeventd monitor.
- Allow section names in config file data to be quoted strings.
- Close fifos before exiting in dmeventd restart() error path.
- Catch invalid use of string sort values when reporting numerical fields.
- Require util-linux >= 2.24 for blkid wiping support (via device-mapper pkg).
- Add BuildRequires: libblkid-devel to build with blkid wiping functionality.
- Do not install /run and /run/lvm directory but only own them by lvm2 package.
These dirs are controlled by systemd's tmpfiles.d/lvm2.conf configuration.
- Consolidate file permissions for all packaged files.
* Thu Jan 16 2014 Ville Skyttä <ville.skytta@iki.fi> - 2.02.104-4
- Drop INSTALL from docs, escape percents in %%changelog.

View File

@ -1 +1 @@
3d82cdb63259b4386c0cc308b4e1f221 LVM2.2.02.104.tgz
b5b3540661fc70bf329b526c1cfbcf3a LVM2.2.02.105.tgz

View File

@ -1 +1 @@
LVM2.2.02.104.tgz
LVM2.2.02.105.tgz