From 0a1e72c4b5c78f757e64fe8434f2272226276b9c Mon Sep 17 00:00:00 2001 From: Peter Rajnoha Date: Fri, 11 Apr 2014 11:42:25 +0200 Subject: [PATCH] Update to latest upstream release lvm v2.02.106. --- .gitignore | 1 + LVM2.2.02.105.tgz.asc | 7 - LVM2.2.02.106.tgz.asc | 7 + ...s-when-initializing-thin-pool-volume.patch | 63 ------ lvm2-enable-lvmetad-by-default.patch | 12 +- ...path-device-handling-from-udev-rules.patch | 18 ++ ...rules-to-handle-inappropriate-events.patch | 35 ---- lvm2.spec | 179 +++++++++++++++--- sources | 2 +- 9 files changed, 185 insertions(+), 139 deletions(-) delete mode 100644 LVM2.2.02.105.tgz.asc create mode 100644 LVM2.2.02.106.tgz.asc delete mode 100644 lvm2-2_02_106-avoid-exposing-temporary-devices-when-initializing-thin-pool-volume.patch create mode 100644 lvm2-remove-mpath-device-handling-from-udev-rules.patch delete mode 100644 lvm2-udev-remove-rules-to-handle-inappropriate-events.patch diff --git a/.gitignore b/.gitignore index daeb5c1..a38890b 100644 --- a/.gitignore +++ b/.gitignore @@ -12,3 +12,4 @@ /LVM2.2.02.103.tgz /LVM2.2.02.104.tgz /LVM2.2.02.105.tgz +/LVM2.2.02.106.tgz diff --git a/LVM2.2.02.105.tgz.asc b/LVM2.2.02.105.tgz.asc deleted file mode 100644 index 02255a8..0000000 --- a/LVM2.2.02.105.tgz.asc +++ /dev/null @@ -1,7 +0,0 @@ ------BEGIN PGP SIGNATURE----- -Version: GnuPG v1.4.11 (GNU/Linux) - -iEYEABECAAYFAlLdeZ8ACgkQIoGRwVZ+LBcElACfZ7bwrzwVSWLVzv4fxEw4L/PM -Ii4AniEmRU9GF+Rxx3s1xdOGfDoQn1AB -=87P7 ------END PGP SIGNATURE----- diff --git a/LVM2.2.02.106.tgz.asc b/LVM2.2.02.106.tgz.asc new file mode 100644 index 0000000..2a31a10 --- /dev/null +++ b/LVM2.2.02.106.tgz.asc @@ -0,0 +1,7 @@ +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v2.0.14 (GNU/Linux) + +iEYEABECAAYFAlNGwgEACgkQIoGRwVZ+LBepigCg7+sjOqeshsgDO0nGZTIcFOch +F44AoJWQWWLCE9fJULLu4KSZu3JZTyuU +=0JeO +-----END PGP SIGNATURE----- diff --git a/lvm2-2_02_106-avoid-exposing-temporary-devices-when-initializing-thin-pool-volume.patch b/lvm2-2_02_106-avoid-exposing-temporary-devices-when-initializing-thin-pool-volume.patch deleted file mode 100644 index 634e282..0000000 --- a/lvm2-2_02_106-avoid-exposing-temporary-devices-when-initializing-thin-pool-volume.patch +++ /dev/null @@ -1,63 +0,0 @@ -commit bb237a04a0ecd44157ee59ce280e8c3bfc456ca1 -Author: Peter Rajnoha -Date: Mon Jan 27 11:19:09 2014 +0100 - - thin pool - -diff --git a/WHATS_NEW b/WHATS_NEW -index 26b63ae..b755720 100644 ---- a/WHATS_NEW -+++ b/WHATS_NEW -@@ -1,3 +1,7 @@ -+Version 2.02.105 - -+==================================== -+ Avoid exposing temporary devices when initializing thin pool volume. -+ - Version 2.02.105 - 20th January 2014 - ==================================== - Fix thin LV flagging for udev to skip scanning only if the LV is wiped. -diff --git a/lib/metadata/metadata-exported.h b/lib/metadata/metadata-exported.h -index 8e36891..cc58941 100644 ---- a/lib/metadata/metadata-exported.h -+++ b/lib/metadata/metadata-exported.h -@@ -105,9 +105,10 @@ - #define LV_NOSCAN UINT64_C(0x0000080000000000) /* LV - internal use only - the LV - should not be scanned */ - #define LV_TEMPORARY UINT64_C(0x0000100000000000) /* LV - internal use only - the LV -- is supposed to be created and -- removed during single LVM -- command execution. */ -+ is supposed to be created and -+ removed or reactivated with -+ this flag dropped during single -+ LVM command execution. */ - - /* Format features flags */ - #define FMT_SEGMENTS 0x00000001U /* Arbitrary segment params? */ -diff --git a/lib/metadata/thin_manip.c b/lib/metadata/thin_manip.c -index e12a8ad..3eeb757 100644 ---- a/lib/metadata/thin_manip.c -+++ b/lib/metadata/thin_manip.c -@@ -484,7 +484,13 @@ int create_pool(struct logical_volume *pool_lv, const struct segment_type *segty - * - * FIXME: implement lazy clearing when activation is disabled - */ -- /* pool_lv is a new LV so the VG lock protects us */ -+ /* -+ * pool_lv is a new LV so the VG lock protects us -+ * Pass in LV_TEMPORARY flag, since device is activated purely for wipe -+ * and later it is either deactivated (in cluster) -+ * or directly converted to invisible device via suspend/resume -+ */ -+ pool_lv->status |= LV_TEMPORARY; - if (!activate_lv_local(pool_lv->vg->cmd, pool_lv) || - /* Clear 4KB of metadata device for new thin-pool. */ - !wipe_lv(pool_lv, (struct wipe_params) { .do_zero = 1 })) { -@@ -492,6 +498,7 @@ int create_pool(struct logical_volume *pool_lv, const struct segment_type *segty - pool_lv->name); - goto bad; - } -+ pool_lv->status &= ~LV_TEMPORARY; - } - - if (dm_snprintf(name, sizeof(name), "%s_tmeta", pool_lv->name) < 0) { diff --git a/lvm2-enable-lvmetad-by-default.patch b/lvm2-enable-lvmetad-by-default.patch index da3e78a..6b41b71 100644 --- a/lvm2-enable-lvmetad-by-default.patch +++ b/lvm2-enable-lvmetad-by-default.patch @@ -3,10 +3,10 @@ 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/conf/example.conf.in b/conf/example.conf.in -index ae571b6..241caa1 100644 +index 2ed3fd6..8618a3e 100644 --- a/conf/example.conf.in +++ b/conf/example.conf.in -@@ -594,7 +594,7 @@ global { +@@ -667,7 +667,7 @@ global { # supported in clustered environment. If use_lvmetad=1 and locking_type=3 # is set at the same time, LVM always issues a warning message about this # and then it automatically disables lvmetad use. @@ -16,15 +16,15 @@ index ae571b6..241caa1 100644 # Full path of the utility called to check that a thin metadata device # is in a state that allows it to be used. diff --git a/lib/config/config_settings.h b/lib/config/config_settings.h -index c935920..a9f35e6 100644 +index 932ba2e..79917e5 100644 --- a/lib/config/config_settings.h +++ b/lib/config/config_settings.h -@@ -158,7 +158,7 @@ cfg(global_metadata_read_only_CFG, "metadata_read_only", global_CFG_SECTION, 0, +@@ -173,7 +173,7 @@ cfg(global_metadata_read_only_CFG, "metadata_read_only", global_CFG_SECTION, 0, cfg(global_mirror_segtype_default_CFG, "mirror_segtype_default", global_CFG_SECTION, 0, CFG_TYPE_STRING, DEFAULT_MIRROR_SEGTYPE, vsn(2, 2, 87), NULL) cfg(global_raid10_segtype_default_CFG, "raid10_segtype_default", global_CFG_SECTION, 0, CFG_TYPE_STRING, DEFAULT_RAID10_SEGTYPE, vsn(2, 2, 99), NULL) - cfg(global_lvdisplay_shows_full_device_path_CFG, "lvdisplay_shows_full_device_path", global_CFG_SECTION, 0, CFG_TYPE_BOOL, DEFAULT_LVDISPLAY_SHOWS_FULL_DEVICE_PATH, vsn(2, 2, 89), NULL) + cfg(global_lvdisplay_shows_full_device_path_CFG, "lvdisplay_shows_full_device_path", global_CFG_SECTION, CFG_PROFILABLE, CFG_TYPE_BOOL, DEFAULT_LVDISPLAY_SHOWS_FULL_DEVICE_PATH, vsn(2, 2, 89), NULL) -cfg(global_use_lvmetad_CFG, "use_lvmetad", global_CFG_SECTION, 0, CFG_TYPE_BOOL, 0, vsn(2, 2, 93), NULL) +cfg(global_use_lvmetad_CFG, "use_lvmetad", global_CFG_SECTION, 0, CFG_TYPE_BOOL, 1, vsn(2, 2, 93), NULL) cfg(global_thin_check_executable_CFG, "thin_check_executable", global_CFG_SECTION, CFG_ALLOW_EMPTY, CFG_TYPE_STRING, THIN_CHECK_CMD, vsn(2, 2, 94), NULL) cfg_array(global_thin_check_options_CFG, "thin_check_options", global_CFG_SECTION, 0, CFG_TYPE_STRING, "#S" DEFAULT_THIN_CHECK_OPTIONS, vsn(2, 2, 96), NULL) - cfg_array(global_thin_disabled_features_CFG, "thin_disabled_features", global_CFG_SECTION, 0, CFG_TYPE_STRING, "#S", vsn(2, 2, 99), NULL) + cfg_array(global_thin_disabled_features_CFG, "thin_disabled_features", global_CFG_SECTION, CFG_ALLOW_EMPTY, CFG_TYPE_STRING, NULL, vsn(2, 2, 99), NULL) diff --git a/lvm2-remove-mpath-device-handling-from-udev-rules.patch b/lvm2-remove-mpath-device-handling-from-udev-rules.patch new file mode 100644 index 0000000..168603b --- /dev/null +++ b/lvm2-remove-mpath-device-handling-from-udev-rules.patch @@ -0,0 +1,18 @@ + udev/10-dm.rules.in | 4 ---- + 1 file changed, 4 deletions(-) + +diff --git a/udev/10-dm.rules.in b/udev/10-dm.rules.in +index 2755530..8d7a8ca 100644 +--- a/udev/10-dm.rules.in ++++ b/udev/10-dm.rules.in +@@ -120,10 +120,6 @@ ENV{DM_UDEV_RULES_VSN}="2" + + ENV{DM_UDEV_DISABLE_DM_RULES_FLAG}!="1", ENV{DM_NAME}=="?*", SYMLINK+="(DM_DIR)/$env{DM_NAME}" + +-# We have to ignore further rule application for inappropriate events +-# and devices. But still send the notification if cookie exists. +-ENV{DM_UUID}=="mpath-?*", ENV{DM_ACTION}=="PATH_FAILED", GOTO="dm_disable" +- + # Avoid processing and scanning a DM device in the other (foreign) + # rules if it is in suspended state. However, we still keep 'disk' + # and 'DM subsystem' related rules enabled in this case. diff --git a/lvm2-udev-remove-rules-to-handle-inappropriate-events.patch b/lvm2-udev-remove-rules-to-handle-inappropriate-events.patch deleted file mode 100644 index db58463..0000000 --- a/lvm2-udev-remove-rules-to-handle-inappropriate-events.patch +++ /dev/null @@ -1,35 +0,0 @@ -commit e624fc8c0e75ea363e27cff824ca5a4521d051a7 -Author: Peter Rajnoha -Date: Mon Jan 27 11:13:02 2014 +0100 - - udev - cryptsetup - -diff --git a/WHATS_NEW_DM b/WHATS_NEW_DM -index ce302f3..5aa3892 100644 ---- a/WHATS_NEW_DM -+++ b/WHATS_NEW_DM -@@ -1,3 +1,7 @@ -+Version 1.02.85 - -+=================================== -+ Drop cryptsetup rules from 10-dm.rules - cryptsetup >= 1.1.3 sets them. -+ - Version 1.02.84 - 20th January 2014 - =================================== - Revert activation of activated nodes if a node preload callback fails. -diff --git a/udev/10-dm.rules.in b/udev/10-dm.rules.in -index f7088f1..8d7a8ca 100644 ---- a/udev/10-dm.rules.in -+++ b/udev/10-dm.rules.in -@@ -120,12 +120,6 @@ ENV{DM_UDEV_RULES_VSN}="2" - - ENV{DM_UDEV_DISABLE_DM_RULES_FLAG}!="1", ENV{DM_NAME}=="?*", SYMLINK+="(DM_DIR)/$env{DM_NAME}" - --# We have to ignore further rule application for inappropriate events --# and devices. But still send the notification if cookie exists. --ENV{DM_UUID}=="mpath-?*", ENV{DM_ACTION}=="PATH_FAILED", GOTO="dm_disable" --ENV{DM_UUID}=="CRYPT-TEMP-?*", GOTO="dm_disable" --ENV{DM_UUID}!="?*", ENV{DM_NAME}=="temporary-cryptsetup-?*", GOTO="dm_disable" -- - # Avoid processing and scanning a DM device in the other (foreign) - # rules if it is in suspended state. However, we still keep 'disk' - # and 'DM subsystem' related rules enabled in this case. diff --git a/lvm2.spec b/lvm2.spec index 8898e5b..53faf4c 100644 --- a/lvm2.spec +++ b/lvm2.spec @@ -1,9 +1,11 @@ -%define device_mapper_version 1.02.84 +%define device_mapper_version 1.02.85 -%define enable_thin 1 -%define enable_lvmetad 1 +%define enable_cache 1 %define enable_cluster 1 %define enable_cmirror 1 +%define enable_lvmetad 1 +%define enable_python 1 +%define enable_thin 1 %define systemd_version 189-3 %define dracut_version 002-18 @@ -12,7 +14,7 @@ %define corosync_version 1.99.9-1 %define dlm_version 3.99.1-1 %define libselinux_version 1.30.19-4 -%define persistent_data_version 0.2.7-1 +%define persistent_data_version 0.3.2-1 %if 0%{?rhel} %ifnarch i686 x86_64 @@ -36,16 +38,15 @@ Summary: Userland logical volume management tools Name: lvm2 -Version: 2.02.105 -Release: 2%{?dist} +Version: 2.02.106 +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-udev-remove-rules-to-handle-inappropriate-events.patch -Patch3: lvm2-2_02_106-avoid-exposing-temporary-devices-when-initializing-thin-pool-volume.patch +Patch2: lvm2-remove-mpath-device-handling-from-udev-rules.patch BuildRequires: libselinux-devel >= %{libselinux_version}, libsepol-devel BuildRequires: libblkid-devel >= %{util_linux_version} @@ -59,8 +60,10 @@ BuildRequires: module-init-tools BuildRequires: pkgconfig BuildRequires: systemd-devel BuildRequires: systemd-units +%if %{enable_python} BuildRequires: python2-devel BuildRequires: python-setuptools +%endif Requires: %{name}-libs = %{version}-%{release} Requires: bash >= %{bash_version} Requires(post): systemd-units >= %{systemd_version}, systemd-sysv @@ -83,8 +86,7 @@ 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 .udev_inappropriate_events -%patch3 -p1 -b .thin_temp_no_expose +%patch2 -p1 -b .udev_no_mpath %build %define _default_pid_dir /run @@ -97,6 +99,10 @@ or more physical volumes and creating one or more logical volumes %define configure_udev --with-udevdir=%{_udevdir} --enable-udev_sync +%if %{enable_cache} +%define configure_cache --with-cache=internal +%endif + %if %{enable_thin} %define configure_thin --with-thin=internal --with-thin-check=%{_sbindir}/thin_check --with-thin-dump=%{_sbindir}/thin_dump --with-thin-repair=%{_sbindir}/thin_repair %endif @@ -105,7 +111,11 @@ 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 --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} +%if %{enable_python} +%define configure_python --enable-python-bindings +%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 --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-dmeventd --enable-blkid_wiping %{?configure_python} %{?configure_cluster} %{?configure_cmirror} %{?configure_udev} %{?configure_thin} %{?configure_lvmetad} %{?configure_cache} make %{?_smp_mflags} @@ -117,6 +127,18 @@ make install_systemd_units DESTDIR=$RPM_BUILD_ROOT make install_systemd_generators DESTDIR=$RPM_BUILD_ROOT make install_tmpfiles_configuration DESTDIR=$RPM_BUILD_ROOT +# add clvmd/cmirror systemd units to a separate lvm2-cluster-standalone/cmirror-standalone +# once we can rely on clvm resource instead and we provide the systemd units just for +# standalone LVM cluster configuration without cluster resource manager +%if %{enable_cluster} +rm -f $RPM_BUILD_ROOT/%{_prefix}/lib/systemd/lvm2-cluster-activation +rm -f $RPM_BUILD_ROOT/%{_unitdir}/lvm2-clvmd.service +rm -f $RPM_BUILD_ROOT/%{_unitdir}/lvm2-cluster-activation.service +%if %{enable_cmirror} +rm -f $RPM_BUILD_ROOT/%{_unitdir}/lvm2-cmirrord.service +%endif +%endif + %clean rm -rf $RPM_BUILD_ROOT @@ -134,7 +156,7 @@ rm -rf $RPM_BUILD_ROOT %endif %postun -%systemd_postun_with_restart lvm2-monitor.service +%systemd_postun lvm2-monitor.service %if %{enable_lvmetad} %systemd_postun_with_restart lvm2-lvmetad.service %endif @@ -150,7 +172,7 @@ rm -rf $RPM_BUILD_ROOT %doc COPYING COPYING.LIB README VERSION WHATS_NEW %doc doc/lvm_fault_handling.txt -#Main binaries +# Main binaries %defattr(555,root,root,-) %{_sbindir}/blkdeactivate %{_sbindir}/fsadm @@ -207,6 +229,7 @@ rm -rf $RPM_BUILD_ROOT %{_sbindir}/vgscan %{_sbindir}/vgsplit %{_mandir}/man5/lvm.conf.5.gz +%{_mandir}/man7/lvmthin.7.gz %{_mandir}/man8/blkdeactivate.8.gz %{_mandir}/man8/fsadm.8.gz %{_mandir}/man8/lvchange.8.gz @@ -215,6 +238,8 @@ rm -rf $RPM_BUILD_ROOT %{_mandir}/man8/lvdisplay.8.gz %{_mandir}/man8/lvextend.8.gz %{_mandir}/man8/lvm.8.gz +%{_mandir}/man8/lvm2-activation-generator.8.gz +%{_mandir}/man8/lvm-dumpconfig.8.gz %{_mandir}/man8/lvmchange.8.gz %{_mandir}/man8/lvmconf.8.gz %{_mandir}/man8/lvmdiskscan.8.gz @@ -274,7 +299,7 @@ rm -rf $RPM_BUILD_ROOT %{_tmpfilesdir}/%{name}.conf %{_unitdir}/blk-availability.service %{_unitdir}/lvm2-monitor.service - %attr(555, -, -) %{_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 @@ -301,10 +326,10 @@ the lvm2 libraries. %defattr(444,root,root,-) %{_libdir}/liblvm2app.so %{_libdir}/liblvm2cmd.so +%{_libdir}/libdevmapper-event-lvm2.so %{_includedir}/lvm2app.h %{_includedir}/lvm2cmd.h %{_libdir}/pkgconfig/lvm2app.pc -%{_libdir}/libdevmapper-event-lvm2.so %package libs Summary: Shared libraries for lvm2 @@ -337,13 +362,15 @@ This package contains shared lvm2 libraries for applications. %{_libdir}/device-mapper/libdevmapper-event-lvm2thin.so %endif +%if %{enable_python} + %package python-libs Summary: Python module to access LVM License: LGPLv2 Group: Development/Libraries Provides: python-lvm = %{version}-%{release} Obsoletes: python-lvm < 2.02.98-2 -Requires: %{name} = %{version}-%{release} +Requires: %{name}-libs = %{version}-%{release} %description python-libs Python module to allow the creation and use of LVM @@ -352,6 +379,8 @@ logical volumes, physical volumes, and volume groups. %files python-libs %{python_sitearch}/* +%endif + ############################################################################## # Cluster subpackage ############################################################################## @@ -375,13 +404,12 @@ Extensions to LVM2 to support clusters. %post cluster /sbin/chkconfig --add clvmd - -if [ "$1" -gt "1" ] ; then - /usr/sbin/clvmd -S >/dev/null 2>&1 || : +if [ -e %{_default_pid_dir}/clvmd.pid ]; then + /usr/sbin/clvmd -S || echo "Failed to restart clvmd daemon. Please, try manual restart." fi %preun cluster -if [ "$1" = 0 ]; then +if [ "$1" = "0" ]; then /sbin/chkconfig --del clvmd /sbin/lvmconf --disable-cluster fi @@ -475,7 +503,7 @@ for the kernel device-mapper. %doc COPYING COPYING.LIB WHATS_NEW_DM VERSION_DM README %doc udev/12-dm-permissions.rules %defattr(444,root,root,-) -%attr(555,root,root) %{_sbindir}/dmsetup +%attr(555, -, -) %{_sbindir}/dmsetup %{_mandir}/man8/dmsetup.8.gz %{_udevdir}/10-dm.rules %{_udevdir}/13-dm-disk.rules @@ -536,16 +564,13 @@ of device-mapper devices. %post -n device-mapper-event %systemd_post dm-event.socket +if [ -e %{_default_pid_dir}/dmeventd.pid ]; then + %{_sbindir}/dmeventd -R || echo "Failed to restart dmeventd daemon. Please, try manual restart." +fi %preun -n device-mapper-event %systemd_preun dm-event.service dm-event.socket -%postun -n device-mapper-event -/bin/systemctl daemon-reload > /dev/null 2>&1 || : -if [ $1 -ge 1 ]; then - /bin/systemctl reload dm-event.service > /dev/null 2>&1 || : -fi - %files -n device-mapper-event %defattr(444,root,root,-) %attr(555, -, -) %{_sbindir}/dmeventd @@ -592,6 +617,106 @@ the device-mapper event library. %{_libdir}/pkgconfig/devmapper-event.pc %changelog +* Fri Apr 11 2014 Peter Rajnoha - 2.02.106-1 +- Require latest device-mapper-persistent-data 0.3.2-1. +- Fix ignored --dataalignment/dataalignmentoffset for pvcreate --restorefile. +- Fix lost information about bootloader area when using lvmetad. +- Don't require --major to be specified when using -My option on kernels > 2.4. +- Add configure --disable-thin_check_needs_check to support old thin_check. +- Use thin_check --clear-needs-check-flag by default. +- Add lvmthin man page to section 7. +- Ensure mapped device names are not too long in vg_validate and lvrename. +- Ensure resume failure in lvrename results in command failure. +- Add explicit error message when using lvdisplay -c -m. +- Report error if superfluous argument (e.g. PV name) supplied to pvscan. +- Fix error message for pvdisplay -c -m and add one for pvdisplay -c -s. +- Use EINVALID_CMD_LINE correctly instead of ECMD_FAILED in vgimport/export. +- Obtain list of known VGs from lvmetad for pvchange --all. +- Add man page for lvm-dumpconfig to section 8. +- Validate name for renamed sub LVs. +- When lvrename fails on argument parsing return EINVALID_CMD_LINE. +- Fix exit code regression in failing pvchange command (2.02.66). +- Include 'lvm dumpconfig --type missing' and '--type diff' output to lvmdump. +- Return failure when specifying negative size for pvresize. +- Fix memory corruption in cmd context refresh if clvmd leaks opened device. +- Reinitialise lvmcache properly on fork to fix premature polldaemon exit. +- Add 'lvm dumpconfig --type diff' to show differences from defaults. +- Fix swap signature detection for devices smaller then 2MB. +- Resolve memory release order for clvmd shutdown. +- Report error when lvm2 activation is released in critical_section. +- Fix memory corruption when pvscan reports long pv names. +- Do not report internal orphan VG names when reporting pvdisplay/pvscan. +- Fix pvdisplay -c man page referencing KB instead of sectors. +- Skip redundant synchronization calls on local clvmd. +- Use correct PATH_MAX for locking dir path. +- Do not check for backups when when its creation is disabled. +- Don't allow --mergedconfig without --type current in dumpconfig. Fix memleak. +- Make global/lvdisplay_shows_full_device_path lvm.conf setting profilable. +- Make global/{units|si_unit_consistency|suffix} lvm.conf setting profilable. +- Validate minimal chunk size for snapshot COW volume in lvconvert. +- Disallow lvconvert of origin to snapshot COW volume. +- Make report lvm.conf settings profilable. +- Add existing report settings to lvm.conf. +- Use VG read lock during 'pvscan --cache -aay' autoactivation. +- Issue a VG refresh before autoactivation only if the PV has changed/is new. +- Add flag to lvmetad protocol to indicate the PV scanned has changed/is new. +- Also add vgname to lvmetad protocol when referencing VGs for PVs scanned. +- Add man page for lvm2-activation-generator. +- Don't print an error and accept empty value for global/thin_disabled_features. +- Do not try to check empty pool with scheduled messages. +- Fix return value in pool_has_message() when quering for any message. +- Cleanup all client resources on clvmd exit. +- Use BLKID_CFLAGS when compiling with blkid support. +- Make lvm 'dumpconfig --type default' complete for it to be consumed by lvm. +- Run pvscan --cache via systemd-run in udev if the PV label is detected lost. +- Fix memleak when lvmetad discovers PV to appear on another device. +- Fix calculation of maximum size of COW device for snapshot (2.02.99). +- Do not allow stripe size to be bigger then extent size for lvresize. +- Zero snapshot COW header when creating read-only snapshot. +- Comment out config lines in dumpconfig output without default values defined. +- Improve detection of clustered mirror support. +- Enhance raid code with feature flags, for now checks for raid10. +- Move parsing of VG metadata from vg_commit() back to vg_write() (2.02.99) +- Avoid a PV label scan while in a critical section. +- Create /dev/disk/by-id/lvm-pv-uuid- symlink for each PV via udev. +- lvcreate computes RAID4/5/6 stripes if not given from # of allocatable PVs. +- Fix merging of old snapshot into thin volume origin. +- Use --ignoreskippedcluster in lvm2-monitor initscript/systemd unit. +- Do not use VG read/write state for LV read/write state. +- Use --ignoreskippedcluster in activation systemd units if use_lvmetad=0. +- Allow approximate allocation when specifying size in percentage terms. +- Add basic LVM support for cache[pool] segment types. +- Use local exclusive activation for creation of raid in cluster. +- Use correctly signed 64b constant when selecting raid volumes. +- Remove ExecReload from lvmetad systemd unit: lvmetad -R undefined. (2.02.98) +- Do not fork lvmetad if running under systemd. +- Wipe DM_snapshot_cow signature without prompt in new LVs with blkid wiping. +- Avoid exposing temporary devices when initializing raid metadata volumes. +- Add internal tags command to display any tags defined on the host. +- Prohibit use of external origin with size incompatible with thin pool. +- Avoid trying to convert single to thin pool and volume at the same time. +- Add support for partitions on ZFS zvol. +- Fix unwanted drop of hold flocks on forked children. +- Respect LVM_LVMETAD_PIDFILE env var for lvm command. +- Fix test when checking target version for available thin features. +- Detect thin feature external_origin_extend and limit extend when missing. +- Issue error if libbblkid detects signature and fails to return offset/length. +- Update autoconf config.guess/sub to 2014-01-01. +- Online thin pool metadata resize requires 1.10 kernel thin pool target. +- Check for sprintf error when building internal device path. +- Check for sprintf error when creating path for dm control node. +- When buffer for dm_get_library_version() is too small, return error code. +- Always reinitialize _name_mangling_mode in dm_lib_init(). +- Stop timeout thread immediately when the last worker thread is finished. +- Fix dmeventd logging with parallel wait event processing. +- Reuse _node_send_messages() for validation of transaction_id in preload. +- Transaction_id could be lower by one only when messages are prepared. +- Wrap is_selinux_enabled() to be called just once. +- Use correctly signed 64b constant when working with raid volumes. +- Exit dmeventd with pidfile cleanup instead of raising SIGKILL on DIE request. +- Add new DM_EVENT_GET_PARAMETERS request to dmeventd protocol. +- Do not use systemd's reload for dmeventd restart, use dmeventd -R instead. + * Mon Jan 27 2014 Peter Rajnoha - 2.02.105-2 - Avoid exposing temporary devices when initializing thin pool volume. - Remove udev rule for multipath's PATH_FAILED event processing, diff --git a/sources b/sources index 18cfe12..d8e656b 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -b5b3540661fc70bf329b526c1cfbcf3a LVM2.2.02.105.tgz +77f84279fb649b3dc4edad1c6d1a1b0e LVM2.2.02.106.tgz