lvm2/SPECS/lvm2.spec

5333 lines
279 KiB
RPMSpec

%global device_mapper_version 1.02.181
%global enable_cache 1
%global enable_cluster 1
%global enable_cmirror 1
%global enable_lvmdbusd 1
%global enable_lvmlockd 1
%global enable_lvmpolld 1
%global enable_thin 1
%global enable_dmfilemapd 1
%global enable_testsuite 1
%global enable_vdo 1
%global enable_writecache 1
%global enable_integrity 1
%global system_release_version 23
%global systemd_version 189-3
%global dracut_version 002-18
%global util_linux_version 2.24
%global bash_version 4.0
%global corosync_version 1.99.9-1
%global resource_agents_version 3.9.5-12
# TODO: This needs newer dlm - do I need a side tag??? :-/
%global dlm_version 4.0.9-1
%global libselinux_version 1.30.19-4
%global persistent_data_version 0.7.0-0.1.rc6
%global sanlock_version 3.3.0-2
%global enable_lockd_sanlock %{enable_lvmlockd}
%global enable_lockd_dlm %{enable_lvmlockd}
%if 0%{?rhel} && 0%{?rhel} <= 8
%ifnarch i686 x86_64 ppc64le s390x
%global enable_cluster 0
%global enable_cmirror 0
%global enable_lockd_dlm 0
%endif
%ifnarch x86_64 ppc64 aarch64
%global enable_lockd_sanlock 0
%endif
%endif
%if %{enable_cluster}
%global configure_cluster --with-cluster=internal
%if %{enable_cmirror}
%global configure_cmirror --enable-cmirrord
%endif
%else
%global configure_cluster --with-cluster=internal
%endif
%global from_snapshot 0
%if 0%{?from_snapshot}
%global commit 4dc5d4ac7e7a9457ccc46ff04796b347e58bf4da
%global shortcommit %(c=%{commit}; echo ${c:0:7})
%endif
#%%global rel_suffix .bz2233901_1
# Do not reset Release to 1 unless both lvm2 and device-mapper
# versions are increased together.
Summary: Userland logical volume management tools
Name: lvm2
%if 0%{?rhel}
Epoch: %{rhel}
%endif
Version: 2.03.14
%if 0%{?from_snapshot}
Release: 0.1.20210426git%{shortcommit}%{?dist}%{?rel_suffix}
%else
Release: 14%{?dist}%{?rel_suffix}
%endif
License: GPLv2
URL: http://sourceware.org/lvm2
%if 0%{?from_snapshot}
Source0: lvm2-%{shortcommit}.tgz
%else
Source0: ftp://sourceware.org/pub/lvm2/releases/LVM2.%{version}.tgz
Patch0: lvm2-rhel8.patch
%endif
Patch1: lvm2-test-skip-problematic-tests.patch
Patch2: 0001-Revert-new-udev-autoactivation.patch
Patch3: 0002-Revert-pvscan-only-add-device-args-to-dev-cache.patch
Patch4: 0003-pvscan-fix-messages-from-coverity-changes.patch
Patch5: 0004-vgimportdevices-skip-lvmlockd-locking.patch
Patch6: 0005-hints-remove-the-cmd-hints-list.patch
Patch7: 0006-filter-sysfs-skip-when-device-id-is-set.patch
Patch8: 0007-lvmdevices-increase-open-file-limit.patch
Patch9: 0008-filter-sysfs-support-old-kernels-without-sys-dev-blo.patch
Patch10: 0009-device_id-match-different-dm-device-names.patch
Patch11: 0010-device_id-fix-search-on-filtered-device.patch
Patch12: 0011-device_id-searched_devnames-improvements.patch
Patch13: 0012-tests-pv-ext-flags-work-with-devices-file.patch
Patch14: 0013-display-ignore-reportformat.patch
Patch15: 0014-fix-spelling-of-pruning.patch
Patch16: 0015-man-lvmautoactivation.patch
#Patch17: 0016-spec-Add-lvmautoactivation-man-page.patch
Patch18: 0017-tests-devicesfile-devname.sh-drop-mdadm-chunk.patch
Patch19: 0018-devices-file-don-t-write-in-test-mode.patch
Patch20: 0019-print-warning-about-unrecognized-journal-option-valu.patch
Patch21: 0020-device_id-handle-wwid-with-spaces-or-control-charact.patch
Patch22: 0021-man-add-section-about-static-autoactivation.patch
Patch23: 0022-lvcreate-include-recent-options.patch
Patch24: 0023-man-lvmautoactivation-replace-systemctl-with-journal.patch
Patch25: 0024-make-generate.patch
Patch26: 0025-pvcreate-overwrite-partition-header-with-f.patch
Patch27: 0026-lvmdevices-check-error-exit-if-update-is-needed.patch
Patch28: 0027-Revert-pvcreate-overwrite-partition-header-with-f.patch
Patch29: 0028-devices-exclude-multipath-components-based-on-matchi.patch
Patch30: 0029-devices-exclude-md-components-when-duplicate-pvs-are.patch
Patch31: 0030-lvmdevices-fix-checks-when-adding-entries.patch
Patch32: 0031-lvmdevices-make-deldev-work-for-missing-device.patch
Patch33: 0032-devices-file-do-not-clear-PVID-of-unread-devices.patch
Patch34: 0033-man-lvmcache-mention-writecache-memory-usage.patch
Patch35: 0034-writecache-display-block-size-from-lvs.patch
Patch36: 0035-devices-simplify-dev_cache_get_by_devt.patch
Patch37: 0036-devices-drop-incorrect-paths-from-aliases-list.patch
Patch38: 0037-devices-initial-use-of-existing-option.patch
Patch39: 0038-devices-fix-dev_name-assumptions.patch
Patch40: 0039-devices-use-dev-cache-aliases-handling-from-label-sc.patch
Patch41: 0040-writecache-check-memory-usage.patch
Patch42: 0041-change-messages-about-filtered-devices.patch
Patch43: 0042-vgimportdevices-fix-incorrect-deviceidtype-usage.patch
Patch44: 0043-lvmlockd-return-error-from-vgcreate-init_vg_sanlock.patch
Patch45: 0044-devices-file-remove-extraneous-unlock-in-vgchange-u.patch
Patch46: 0045-filter-mpath-use-multipath-blacklist.patch
Patch47: 0046-improve-description-of-devices-option.patch
Patch48: 0047-vdo-support-vdosettings.patch
Patch49: 0048-toollib-fix-segfault-when-handling-selection-with-hi.patch
Patch50: 0049-devices-file-move-clean-up-after-command-is-run.patch
Patch51: 0050-devices-file-fail-if-devicesfile-filename-doesn-t-ex.patch
Patch52: 0051-filter-mpath-handle-other-wwid-types-in-blacklist.patch
Patch53: 0052-vdo-fix-conversion-of-vdo_slab_size_mb.patch
Patch54: 0053-filter-mpath-get-wwids-from-sysfs-vpd_pg83.patch
Patch55: 0054-build-Fix-make-rpm-with-VERSION_DM-without-dash.patch
# BZ 2090949:
Patch57: 0056-exit-with-error-when-devicesfile-name-doesn-t-exist.patch
# BZ 2111137:
Patch58: 0057-apply-multipath_component_detection-0-to-duplicate-P.patch
# BZ 2121237:
Patch59: 0058-devices-file-fix-pvcreate-uuid-matching-pvid-entry-w.patch
# BZ 2061800:
Patch60: 0059-lvconvert-correct-test-support-for-vdo-pool.patch
# BZ 2022135:
Patch61: 0060-lvmdbusd-Set-LVM_COMMAND_PROFILE-lvmdbusd.patch
# BZ 2139512:
Patch62: 0061-vgimportdevices-change-result-when-devices-are-not-a.patch
Patch63: 0062-vgimportdevices-fix-locking-when-creating-devices-fi.patch
# BZ 2054032:
Patch64: 0063-thin-fix-message-processing-on-thin-pool-extension.patch
# BZ 2108254:
Patch65: 0064-vdo-fix-vdosettings-parser.patch
Patch66: 0065-make-generate.patch
# BZ 2108239:
Patch67: 0066-vdo-use-single-validator.patch
Patch68: 0067-vdo-use-defines-also-for-configuration-defines.patch
Patch69: 0068-vdo-report-supported-range-in-error-path.patch
# BZ 2173312:
Patch70: 0069-vdo-ensure-VDO-config-is-removed.patch
Patch71: 0070-vdo-fix-conversion-of-vdo_slab_size_mb.patch
Patch72: 0071-tests-add-lvm_vdo_wrapper.patch
Patch73: 0072-tests-update-for-wrapper.patch
Patch74: 0073-lvmdbusd-Change-unit-test-vdo-minimum-size.patch
Patch75: 0074-vdo-fix-conversion-of-vdo_slab_size_mb-2nd.patch
Patch76: 0075-vdo-update-info-about-memory.patch
Patch77: 0076-vdo-check-vdo-memory-constrains.patch
Patch78: 0077-vdo-add-reformating-to-extent-size-aligned-virtual-s.patch
Patch79: 0078-vdo-support-v4-kernel-target-line.patch
Patch80: 0079-vdo-enhance-lvcreate-validation.patch
Patch81: 0080-vdo-suffle-code-for-better-error-path-handling.patch
Patch82: 0081-vdo-use-only-verbose-log-level-for-reformating.patch
Patch83: 0082-vdo-reset-errno-before-strtoull.patch
Patch84: 0083-vdo-extend-volume-and-pool-without-flush.patch
Patch85: 0084-tests-vdo-emulation-without-vdo-binary.patch
Patch86: 0085-device_mapper-add-parser-for-vdo-metadata.patch
Patch87: 0086-dev_manager-accept-misalined-vdo-pools.patch
Patch88: 0087-device_mapper-vdo-V4-avoid-messaging.patch
Patch89: 0088-vdo-replace-errors-with-debug.patch
Patch90: 0089-vdo-enhance-detection-of-virtual-size.patch
Patch91: 0090-vdo-improve-validation-message.patch
Patch92: 0091-vdo-fix-reader-error-path.patch
Patch93: 0092-vdo-check-memory-only-in-non-critical-section.patch
Patch94: 0093-vdo-read-live-vdo-size-configuration.patch
Patch95: 0094-lvcreate-fix-error-path-return-values.patch
Patch96: 0095-vdo-fix-and-enhance-vdo-constain-checking.patch
Patch97: 0096-vdo-resize-requires-active-vdopool-volume.patch
Patch98: 0097-tests-vdo-resizing.patch
Patch99: 0098-tests-check-failing-vdo-conversion.patch
Patch100: 0099-vdo-use-fixed-size-vdopool-wrapper.patch
Patch101: 0100-vdo-document-feature-option.patch
Patch102: 0101-vdo-fix-and-enhance-vdo-metadata-reader.patch
Patch103: 0102-tests-cleanup-some-shellcheck-warns.patch
Patch104: 0103-vdo-enhance-lvm_vdo_import.patch
Patch105: 0104-vdo-man-updates-for-lvm_import_vdo.patch
Patch106: 0105-tests-vdo-manager-wrapper-tool-updates.patch
Patch107: 0106-tests-update-test-to-handle-different-status.patch
Patch108: 0107-tests-updates.patch
Patch109: 0108-WHATS_NEW-update.patch
Patch110: 0109-lvm_import_vdo-correct-the-converted-virtual-size.patch
Patch111: 0110-tests-update-test-for-automatic-virtual-size-correct.patch
Patch112: 0111-vdo-check_point_frequence-is-unused-option.patch
Patch113: 0112-vdo-indent-for-lvdisplay.patch
Patch114: 0113-vdo-lvm_import_vdo-correct-parsing-output.patch
Patch115: 0114-lvm_import_vdo-spelling-fixes.patch
Patch116: 0115-vdo-support-version-4.patch
Patch117: 0116-vdo-use-long-verbose.patch
# BZ 2233901:
Patch118: 0117-vdo-Sync-lvm_import_vdo.sh-with-main-as-of-970e4d295.patch
# RHEL-8289:
Patch119: 0118-man-Fix-typo.patch
Patch120: 0119-doc-fix-typos-in-documentation.patch
# RHEL-20192:
Patch121: 0120-archiving-Fix-doubled-filename-in-vgcfgrestore.patch
# RHEL-14216:
Patch122: 0121-man-add-inte-g-rity-to-man-lvs.patch
# RHEL-8298:
Patch123: 0122-Fix-lvconvert-m-0-will-always-take-rimage_0-even-if-.patch
Patch124: 0123-lvconvert-fix-lvconvert-m-0-for-in-sync-legs.patch
# RHEL-8334:
Patch125: 0124-Fix-multisegment-RAID1-allocator-uses-one-disk-for-b.patch
# RHEL-8270:
Patch126: 0125-raid-add-messages-to-lvs-command-output-in-case-Raid.patch
## RHEL-8295:
#Patch127: 0126-vgsplit-don-t-reread-vg_to.patch
#Patch128: 0127-lvmcache-remove-lvmcache_update_vg_from_write.patch
#Patch129: 0128-handle-duplicate-vgids.patch
#Patch130: 0129-remove-unused-variable.patch
#
Patch131: 0130-spec-Install-and-package-etc-lvm-devices.patch
BuildRequires: gcc
%if %{enable_testsuite}
BuildRequires: gcc-c++
%endif
BuildRequires: libselinux-devel >= %{libselinux_version}, libsepol-devel
BuildRequires: libblkid-devel >= %{util_linux_version}
BuildRequires: ncurses-devel
BuildRequires: readline-devel
BuildRequires: libaio-devel
%if %{enable_cluster}
BuildRequires: corosynclib-devel >= %{corosync_version}
%endif
%if %{enable_cluster} || %{enable_lockd_dlm}
BuildRequires: dlm-devel >= %{dlm_version}
%endif
BuildRequires: module-init-tools
BuildRequires: pkgconfig
BuildRequires: systemd-devel
BuildRequires: systemd-units
%if %{enable_lvmdbusd}
BuildRequires: python3-devel
BuildRequires: python3-setuptools
BuildRequires: python3-dbus
BuildRequires: python3-pyudev
%endif
%if %{enable_thin} || %{enable_cache}
BuildRequires: device-mapper-persistent-data >= %{persistent_data_version}
%endif
%if %{enable_lockd_sanlock}
BuildRequires: sanlock-devel >= %{sanlock_version}
%endif
Requires: %{name}-libs = %{?epoch}:%{version}-%{release}
%if 0%{?fedora}
Requires: system-release >= %{system_release_version}
%endif
Requires: bash >= %{bash_version}
Requires(post): systemd-units >= %{systemd_version}, systemd-sysv
Requires(preun): systemd-units >= %{systemd_version}
Requires(postun): systemd-units >= %{systemd_version}
Requires: module-init-tools
%if %{enable_thin} || %{enable_cache}
Requires: device-mapper-persistent-data >= %{persistent_data_version}
%endif
%description
LVM2 includes all of the support for handling read/write operations on
physical volumes (hard disks, RAID-Systems, magneto optical, etc.,
multiple devices (MD), see mdadm(8) or even loop devices, see
losetup(8)), creating volume groups (kind of virtual disks) from one
or more physical volumes and creating one or more logical volumes
(kind of logical partitions) in volume groups.
%prep
%if 0%{?from_snapshot}
%autosetup -n lvm2-%{commit}
%else
%autosetup -p1 -n LVM2.%{version}
%endif
%build
%global _default_pid_dir /run
%global _default_dm_run_dir /run
%global _default_run_dir /run/lvm
%global _default_locking_dir /run/lock/lvm
%global _udevdir %{_prefix}/lib/udev/rules.d
%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-fsadm \
--enable-write_install \
--with-user= \
--with-group= \
--with-device-uid=0 \
--with-device-gid=6 \
--with-device-mode=0660 \
--enable-pkgconfig \
--enable-cmdlib \
--enable-dmeventd \
--enable-blkid_wiping \
%{?configure_cluster} \
%{?configure_cmirror} \
--with-udevdir=%{_udevdir} --enable-udev_sync \
%if %{enable_thin}
--with-thin=internal \
%endif
%if %{enable_cache}
--with-cache=internal \
%endif
%if %{enable_lvmpolld}
--enable-lvmpolld \
%endif
%if %{enable_lockd_dlm}
--enable-lvmlockd-dlm --enable-lvmlockd-dlmcontrol \
%endif
%if %{enable_lockd_sanlock}
--enable-lvmlockd-sanlock \
%endif
%if %{enable_lvmdbusd}
--enable-dbus-service --enable-notify-dbus \
%endif
%if %{enable_dmfilemapd}
--enable-dmfilemapd \
%endif
%if %{enable_writecache}
--with-writecache=internal \
%endif
%if %{enable_vdo}
--with-vdo=internal --with-vdo-format=%{_bindir}/vdoformat \
%endif
%if %{enable_integrity}
--with-integrity=internal \
%endif
--disable-silent-rules
make %{?_smp_mflags}
%install
make install DESTDIR=$RPM_BUILD_ROOT
make install_system_dirs DESTDIR=$RPM_BUILD_ROOT
make install_systemd_units DESTDIR=$RPM_BUILD_ROOT
make install_systemd_generators DESTDIR=$RPM_BUILD_ROOT
make install_tmpfiles_configuration DESTDIR=$RPM_BUILD_ROOT
%if %{enable_testsuite}
make install DESTDIR=$RPM_BUILD_ROOT -C test
%endif
%post
%systemd_post blk-availability.service lvm2-monitor.service
if [ "$1" = "1" ] ; then
# FIXME: what to do with this? We do not want to start it in a container/chroot
# enable and start lvm2-monitor.service on completely new installation only, not on upgrades
systemctl enable lvm2-monitor.service
systemctl start lvm2-monitor.service >/dev/null 2>&1 || :
fi
%if %{enable_lvmpolld}
%systemd_post lvm2-lvmpolld.socket
# lvm2-lvmpolld socket is always enabled and started and ready to serve if lvmpolld is used
# replace direct systemctl calls with systemd rpm macro once this is provided in the macro:
# http://cgit.freedesktop.org/systemd/systemd/commit/?id=57ab2eabb8f92fad5239c7d4492e9c6e23ee0678
systemctl enable lvm2-lvmpolld.socket
systemctl start lvm2-lvmpolld.socket >/dev/null 2>&1 || :
%endif
%preun
%systemd_preun blk-availability.service lvm2-monitor.service
%if %{enable_lvmpolld}
%systemd_preun lvm2-lvmpolld.service lvm2-lvmpolld.socket
%endif
%postun
%systemd_postun lvm2-monitor.service
%if %{enable_lvmpolld}
%systemd_postun_with_restart lvm2-lvmpolld.service
%endif
%triggerun -- %{name} < 2.02.86-2
%{_bindir}/systemd-sysv-convert --save lvm2-monitor >/dev/null 2>&1 || :
/bin/systemctl --no-reload enable lvm2-monitor.service > /dev/null 2>&1 || :
/sbin/chkconfig --del lvm2-monitor > /dev/null 2>&1 || :
/bin/systemctl try-restart lvm2-monitor.service > /dev/null 2>&1 || :
%files
%{!?_licensedir:%global license %%doc}
%license COPYING COPYING.LIB
%doc README VERSION WHATS_NEW
%doc doc/lvm_fault_handling.txt
# Main binaries
%defattr(555,root,root,-)
%{_sbindir}/fsadm
%{_sbindir}/lvm
%{_sbindir}/lvmconfig
%{_sbindir}/lvmdevices
%{_sbindir}/lvmdump
%if %{enable_lvmpolld}
%{_sbindir}/lvmpolld
%endif
%{_sbindir}/lvm_import_vdo
# Other files
%defattr(444,root,root,-)
%{_sbindir}/lvchange
%{_sbindir}/lvconvert
%{_sbindir}/lvcreate
%{_sbindir}/lvdisplay
%{_sbindir}/lvextend
%{_sbindir}/lvmdiskscan
%{_sbindir}/lvmsadc
%{_sbindir}/lvmsar
%{_sbindir}/lvreduce
%{_sbindir}/lvremove
%{_sbindir}/lvrename
%{_sbindir}/lvresize
%{_sbindir}/lvs
%{_sbindir}/lvscan
%{_sbindir}/pvchange
%{_sbindir}/pvck
%{_sbindir}/pvcreate
%{_sbindir}/pvdisplay
%{_sbindir}/pvmove
%{_sbindir}/pvremove
%{_sbindir}/pvresize
%{_sbindir}/pvs
%{_sbindir}/pvscan
%{_sbindir}/vgcfgbackup
%{_sbindir}/vgcfgrestore
%{_sbindir}/vgchange
%{_sbindir}/vgck
%{_sbindir}/vgconvert
%{_sbindir}/vgcreate
%{_sbindir}/vgdisplay
%{_sbindir}/vgexport
%{_sbindir}/vgextend
%{_sbindir}/vgimport
%{_sbindir}/vgimportclone
%{_sbindir}/vgimportdevices
%{_sbindir}/vgmerge
%{_sbindir}/vgmknodes
%{_sbindir}/vgreduce
%{_sbindir}/vgremove
%{_sbindir}/vgrename
%{_sbindir}/vgs
%{_sbindir}/vgscan
%{_sbindir}/vgsplit
%{_mandir}/man5/lvm.conf.5.gz
%{_mandir}/man7/lvmautoactivation.7.gz
%{_mandir}/man7/lvmcache.7.gz
%{_mandir}/man7/lvmraid.7.gz
%{_mandir}/man7/lvmreport.7.gz
%{_mandir}/man7/lvmthin.7.gz
%{_mandir}/man7/lvmvdo.7.gz
%{_mandir}/man7/lvmsystemid.7.gz
%{_mandir}/man8/fsadm.8.gz
%{_mandir}/man8/lvchange.8.gz
%{_mandir}/man8/lvconvert.8.gz
%{_mandir}/man8/lvcreate.8.gz
%{_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-config.8.gz
%{_mandir}/man8/lvmconfig.8.gz
%{_mandir}/man8/lvmdevices.8.gz
%{_mandir}/man8/lvm-dumpconfig.8.gz
%{_mandir}/man8/lvmdiskscan.8.gz
%{_mandir}/man8/lvmdump.8.gz
%{_mandir}/man8/lvm-fullreport.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
%{_mandir}/man8/lvresize.8.gz
%{_mandir}/man8/lvs.8.gz
%{_mandir}/man8/lvscan.8.gz
%{_mandir}/man8/pvchange.8.gz
%{_mandir}/man8/pvck.8.gz
%{_mandir}/man8/pvcreate.8.gz
%{_mandir}/man8/pvdisplay.8.gz
%{_mandir}/man8/pvmove.8.gz
%{_mandir}/man8/pvremove.8.gz
%{_mandir}/man8/pvresize.8.gz
%{_mandir}/man8/pvs.8.gz
%{_mandir}/man8/pvscan.8.gz
%{_mandir}/man8/vgcfgbackup.8.gz
%{_mandir}/man8/vgcfgrestore.8.gz
%{_mandir}/man8/vgchange.8.gz
%{_mandir}/man8/vgck.8.gz
%{_mandir}/man8/vgconvert.8.gz
%{_mandir}/man8/vgcreate.8.gz
%{_mandir}/man8/vgdisplay.8.gz
%{_mandir}/man8/vgexport.8.gz
%{_mandir}/man8/vgextend.8.gz
%{_mandir}/man8/lvm_import_vdo.8.gz
%{_mandir}/man8/vgimport.8.gz
%{_mandir}/man8/vgimportclone.8.gz
%{_mandir}/man8/vgimportdevices.8.gz
%{_mandir}/man8/vgmerge.8.gz
%{_mandir}/man8/vgmknodes.8.gz
%{_mandir}/man8/vgreduce.8.gz
%{_mandir}/man8/vgremove.8.gz
%{_mandir}/man8/vgrename.8.gz
%{_mandir}/man8/vgs.8.gz
%{_mandir}/man8/vgscan.8.gz
%{_mandir}/man8/vgsplit.8.gz
%{_udevdir}/11-dm-lvm.rules
%{_udevdir}/69-dm-lvm-metad.rules
%if %{enable_lvmpolld}
%{_mandir}/man8/lvmpolld.8.gz
%{_mandir}/man8/lvm-lvpoll.8.gz
%endif
%dir %{_sysconfdir}/lvm
%ghost %{_sysconfdir}/lvm/cache/.cache
%attr(644, -, -) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lvm/lvm.conf
%attr(644, -, -) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lvm/lvmlocal.conf
%dir %{_sysconfdir}/lvm/profile
%{_sysconfdir}/lvm/profile/command_profile_template.profile
%{_sysconfdir}/lvm/profile/metadata_profile_template.profile
%{_sysconfdir}/lvm/profile/thin-generic.profile
%{_sysconfdir}/lvm/profile/thin-performance.profile
%{_sysconfdir}/lvm/profile/cache-mq.profile
%{_sysconfdir}/lvm/profile/cache-smq.profile
%{_sysconfdir}/lvm/profile/lvmdbusd.profile
%{_sysconfdir}/lvm/profile/vdo-small.profile
%dir %{_sysconfdir}/lvm/backup
%dir %{_sysconfdir}/lvm/cache
%dir %{_sysconfdir}/lvm/archive
%dir %{_sysconfdir}/lvm/devices
%dir %{_default_locking_dir}
%dir %{_default_run_dir}
%{_tmpfilesdir}/%{name}.conf
%{_unitdir}/blk-availability.service
%{_unitdir}/lvm2-monitor.service
%{_unitdir}/lvm2-pvscan@.service
%attr(555, -, -) %{_prefix}/lib/systemd/system-generators/lvm2-activation-generator
%if %{enable_lvmpolld}
%{_unitdir}/lvm2-lvmpolld.socket
%{_unitdir}/lvm2-lvmpolld.service
%endif
##############################################################################
# Library and Development subpackages
##############################################################################
%package devel
Summary: Development libraries and headers
License: LGPLv2
Requires: %{name} = %{?epoch}:%{version}-%{release}
Requires: device-mapper-devel = %{?epoch}:%{device_mapper_version}-%{release}
Requires: device-mapper-event-devel = %{?epoch}:%{device_mapper_version}-%{release}
Requires: pkgconfig
%description devel
This package contains files needed to develop applications that use
the lvm2 libraries.
%files devel
%defattr(444,root,root,-)
%{_libdir}/liblvm2cmd.so
%{_libdir}/libdevmapper-event-lvm2.so
%{_includedir}/lvm2cmd.h
%package libs
Summary: Shared libraries for lvm2
License: LGPLv2
Requires: device-mapper-event = %{?epoch}:%{device_mapper_version}-%{release}
%description libs
This package contains shared lvm2 libraries for applications.
%ldconfig_scriptlets libs
%files libs
%{!?_licensedir:%global license %%doc}
%license COPYING.LIB
%defattr(555,root,root,-)
%{_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
%{_libdir}/device-mapper/libdevmapper-event-lvm2raid.so
%{_libdir}/libdevmapper-event-lvm2mirror.so
%{_libdir}/libdevmapper-event-lvm2snapshot.so
%{_libdir}/libdevmapper-event-lvm2raid.so
%if %{enable_thin}
%{_libdir}/libdevmapper-event-lvm2thin.so
%{_libdir}/device-mapper/libdevmapper-event-lvm2thin.so
%endif
%{_libdir}/libdevmapper-event-lvm2vdo.so
%{_libdir}/device-mapper/libdevmapper-event-lvm2vdo.so
##############################################################################
# LVM locking daemon
##############################################################################
%if %{enable_lockd_dlm} || %{enable_lockd_sanlock}
%package lockd
Summary: LVM locking daemon
Requires: lvm2 = %{?epoch}:%{version}-%{release}
%if %{enable_lockd_sanlock}
Requires: sanlock-lib >= %{sanlock_version}
%endif
%if %{enable_lockd_dlm}
Requires: dlm-lib >= %{dlm_version}
%endif
Requires(post): systemd-units >= %{systemd_version}
Requires(preun): systemd-units >= %{systemd_version}
Requires(postun): systemd-units >= %{systemd_version}
%description lockd
LVM commands use lvmlockd to coordinate access to shared storage.
%post lockd
%systemd_post lvmlockd.service
%preun lockd
%systemd_preun lvmlockd.service
%postun lockd
%systemd_postun lvmlockd.service
%files lockd
%defattr(444,root,root,-)
%%attr(555, -, -) %{_sbindir}/lvmlockd
%%attr(555, -, -) %{_sbindir}/lvmlockctl
%{_mandir}/man8/lvmlockd.8.gz
%{_mandir}/man8/lvmlockctl.8.gz
%{_unitdir}/lvmlockd.service
%{_unitdir}/lvmlocks.service
%endif
###############################################################################
# Cluster mirror subpackage
# The 'clvm' OCF script to manage cmirrord instance is part of resource-agents.
###############################################################################
%if %{enable_cluster}
%if %{enable_cmirror}
%package -n cmirror
Summary: Daemon for device-mapper-based clustered mirrors
Requires: corosync >= %{corosync_version}
Requires: device-mapper = %{?epoch}:%{device_mapper_version}-%{release}
Requires: resource-agents >= %{resource_agents_version}
%description -n cmirror
Daemon providing device-mapper-based mirrors in a shared-storage cluster.
%files -n cmirror
%defattr(555,root,root,-)
%{_sbindir}/cmirrord
%attr(444, -, -) %{_mandir}/man8/cmirrord.8.gz
##############################################################################
# Cmirror-standalone subpackage
##############################################################################
%package -n cmirror-standalone
Summary: Additional files to support device-mapper-based clustered mirrors in standalone mode
License: GPLv2
Requires: cmirror >= %{?epoch}:%{version}-%{release}
%description -n cmirror-standalone
Additional files needed to run daemon for device-mapper-based clustered
mirrors in standalone mode as a service without cluster resource manager
involvement (e.g. pacemaker).
%post -n cmirror-standalone
%systemd_post lvm2-cmirrord.service
%preun -n cmirror-standalone
%systemd_preun lvm2-cmirrord.service
%postun -n cmirror-standalone
%systemd_postun lvm2-cmirrord.service
%files -n cmirror-standalone
%defattr(444,root,root,-)
%{_unitdir}/lvm2-cmirrord.service
%endif
%endif
##############################################################################
# LVM D-Bus daemon
##############################################################################
%if %{enable_lvmdbusd}
%package dbusd
Summary: LVM2 D-Bus daemon
License: GPLv2
BuildArch: noarch
Requires: lvm2 >= %{?epoch}:%{version}-%{release}
Requires: dbus
Requires: python3-dbus
Requires: python3-pyudev
Requires: python3-gobject-base
Requires(post): systemd-units >= %{systemd_version}
Requires(preun): systemd-units >= %{systemd_version}
Requires(postun): systemd-units >= %{systemd_version}
%description dbusd
Daemon for access to LVM2 functionality through a D-Bus interface.
%post dbusd
%systemd_post lvm2-lvmdbusd.service
%preun dbusd
%systemd_preun lvm2-lvmdbusd.service
%postun dbusd
%systemd_postun lvm2-lvmdbusd.service
%files dbusd
%defattr(555,root,root,-)
%{_sbindir}/lvmdbusd
%defattr(444,root,root,-)
%{_sysconfdir}/dbus-1/system.d/com.redhat.lvmdbus1.conf
%{_datadir}/dbus-1/system-services/com.redhat.lvmdbus1.service
%{_mandir}/man8/lvmdbusd.8.gz
%{_unitdir}/lvm2-lvmdbusd.service
%{python3_sitelib}/lvmdbusd/*
%endif
##############################################################################
# Device-mapper subpackages
##############################################################################
%package -n device-mapper
Summary: Device mapper utility
Version: %{device_mapper_version}
License: GPLv2
URL: http://sources.redhat.com/dm
Requires: device-mapper-libs = %{?epoch}:%{device_mapper_version}-%{release}
Requires: util-linux >= %{util_linux_version}
Requires: systemd >= %{systemd_version}
# We need dracut to install required udev rules if udev_sync
# feature is turned on so we don't lose required notifications.
Conflicts: dracut < %{dracut_version}
%description -n device-mapper
This package contains the supporting userspace utility, dmsetup,
for the kernel device-mapper.
%files -n device-mapper
%{!?_licensedir:%global license %%doc}
%license COPYING COPYING.LIB
%doc WHATS_NEW_DM VERSION_DM README
%doc udev/12-dm-permissions.rules
%defattr(444,root,root,-)
%attr(555, -, -) %{_sbindir}/dmsetup
%attr(555, -, -) %{_sbindir}/blkdeactivate
%attr(555, -, -) %{_sbindir}/dmstats
%{_mandir}/man8/dmsetup.8.gz
%{_mandir}/man8/dmstats.8.gz
%{_mandir}/man8/blkdeactivate.8.gz
%if %{enable_dmfilemapd}
%attr(555, -, -) %{_sbindir}/dmfilemapd
%{_mandir}/man8/dmfilemapd.8.gz
%endif
%{_udevdir}/10-dm.rules
%{_udevdir}/13-dm-disk.rules
%{_udevdir}/95-dm-notify.rules
%package -n device-mapper-devel
Summary: Development libraries and headers for device-mapper
Version: %{device_mapper_version}
License: LGPLv2
Requires: device-mapper = %{?epoch}:%{device_mapper_version}-%{release}
Requires: pkgconfig
%description -n device-mapper-devel
This package contains files needed to develop applications that use
the device-mapper libraries.
%files -n device-mapper-devel
%defattr(444,root,root,-)
%{_libdir}/libdevmapper.so
%{_includedir}/libdevmapper.h
%{_libdir}/pkgconfig/devmapper.pc
%package -n device-mapper-libs
Summary: Device-mapper shared library
Version: %{device_mapper_version}
License: LGPLv2
Requires: device-mapper = %{?epoch}:%{device_mapper_version}-%{release}
%description -n device-mapper-libs
This package contains the device-mapper shared library, libdevmapper.
%ldconfig_scriptlets -n device-mapper-libs
%files -n device-mapper-libs
%{!?_licensedir:%global license %%doc}
%license COPYING COPYING.LIB
%defattr(555,root,root,-)
%{_libdir}/libdevmapper.so.*
%package -n device-mapper-event
Summary: Device-mapper event daemon
Version: %{device_mapper_version}
Requires: device-mapper = %{?epoch}:%{device_mapper_version}-%{release}
Requires: device-mapper-event-libs = %{?epoch}:%{device_mapper_version}-%{release}
Requires(post): systemd-units
Requires(preun): systemd-units
Requires(postun): systemd-units
%description -n device-mapper-event
This package contains the dmeventd daemon for monitoring the state
of device-mapper devices.
%post -n device-mapper-event
%systemd_post dm-event.socket
# dm-event.socket is always enabled and started and ready to serve if dmeventd is used
# replace direct systemctl calls with systemd rpm macro once this is provided in the macro:
# http://cgit.freedesktop.org/systemd/systemd/commit/?id=57ab2eabb8f92fad5239c7d4492e9c6e23ee0678
systemctl enable dm-event.socket
systemctl start dm-event.socket >/dev/null 2>&1 || :
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
%files -n device-mapper-event
%defattr(444,root,root,-)
%attr(555, -, -) %{_sbindir}/dmeventd
%{_mandir}/man8/dmeventd.8.gz
%{_unitdir}/dm-event.socket
%{_unitdir}/dm-event.service
%package -n device-mapper-event-libs
Summary: Device-mapper event daemon shared library
Version: %{device_mapper_version}
License: LGPLv2
%description -n device-mapper-event-libs
This package contains the device-mapper event daemon shared library,
libdevmapper-event.
%ldconfig_scriptlets -n device-mapper-event-libs
%files -n device-mapper-event-libs
%{!?_licensedir:%global license %%doc}
%license COPYING.LIB
%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
Version: %{device_mapper_version}
License: LGPLv2
Requires: device-mapper-event = %{?epoch}:%{device_mapper_version}-%{release}
Requires: pkgconfig
%description -n device-mapper-event-devel
This package contains files needed to develop applications that use
the device-mapper event library.
%files -n device-mapper-event-devel
%defattr(444,root,root,-)
%{_libdir}/libdevmapper-event.so
%{_includedir}/libdevmapper-event.h
%{_libdir}/pkgconfig/devmapper-event.pc
##############################################################################
# Testsuite
##############################################################################
%if %{enable_testsuite}
%package testsuite
Summary: LVM2 Testsuite
# Most of the code is GPLv2, the harness in test/lib/{brick-shelltest.h,runner.cpp} is BSD, and C files in test/api are LGPLv2...
License: LGPLv2 and GPLv2 and BSD-2-Clause
%description testsuite
An extensive functional testsuite for LVM2.
%files testsuite
%license COPYING COPYING.LIB COPYING.BSD
%{_datadir}/lvm2-testsuite/
%{_libexecdir}/lvm2-testsuite/
%{_bindir}/lvm2-testsuite
%endif
%changelog
* Fri Feb 02 2024 Marian Csontos <mcsontos@redhat.com> - 2.03.14-14
- Fix multisegment RAID1 allocator using one disk for both legs.
- Fix lvconvert -m 0 taking rimage_0 even if it is out of sync.
- Add warning message when mirror images have (r)efresh bit set.
- Document lv_attr volume type bit (g) for raid+integrity in lvs(8).
* Mon Sep 18 2023 Marian Csontos <mcsontos@redhat.com> - 2.03.14-13.el8_9
- Fix error paths in lvm_import_vdo.sh.
* Thu Sep 07 2023 Marian Csontos <mcsontos@redhat.com> - 2.03.14-12
- Fix handling of devices with symlinks in lvm_import_vdo.sh.
* Thu Jul 27 2023 Marian Csontos <mcsontos@redhat.com> - 2.03.14-11
- Fix verbose option in lvm_import_vdo.sh.
* Thu Jul 13 2023 Marian Csontos <mcsontos@redhat.com> - 2.03.14-10
- Improve VDO support.
* Thu Dec 08 2022 Marian Csontos <mcsontos@redhat.com> - 2.03.14-9
- Fix handling of invalid values passed to vdo_block_map_era_length.
* Thu Dec 08 2022 Marian Csontos <mcsontos@redhat.com> - 2.03.14-8
- Fix [vdo_]use_compression options.
- Fix vgimportdevices operating on incomplete VGs fails when nothing to import.
- Fix message processing on thin-pool extension leaving devices behind.
* Mon Nov 28 2022 Marian Csontos <mcsontos@redhat.com> - 2.03.14-7
- Fix lvm crash when recreating PV with UUID of a missing PV.
- Fix lvconvert --type vdo-pool with --test should not write signature.
- Use correect profile in lvmdbusd preventing messages in JSON output.
* Fri Jul 29 2022 Marian Csontos <mcsontos@redhat.com> - 2.03.14-6
- Fix effect of setting multipath_component_detection to 0.
* Thu Jul 14 2022 Marian Csontos <mcsontos@redhat.com> - 2.03.14-5
- Exit with error when --devicesfile used does not exist.
* Wed Jun 15 2022 Marian Csontos <mcsontos@redhat.com> - 2.03.14-4
- Additional important fixes from upstream up to commit 3b0f9ce.
* Tue Jan 04 2022 Marian Csontos <mcsontos@redhat.com> - 2.03.14-3
- Fix devices file and autoactivation related issues.
* Fri Dec 17 2021 Marian Csontos <mcsontos@redhat.com> - 2.03.14-2
- Revert autoactivation changes.
* Wed Oct 20 2021 Marian Csontos <mcsontos@redhat.com> - 2.03.14-1
- Update to upstream version 2.03.14.
- See WHATS_NEW for list of changes.
* Mon Sep 20 2021 Marian Csontos <mcsontos@redhat.com> - 2.03.12-10
- Fix incorrect memory free.
* Fri Sep 17 2021 Marian Csontos <mcsontos@redhat.com> - 2.03.12-9
- Fix various lvm_import_vdo issues.
- Fix conversion to vdo when virtual size is above 2TiB.
* Thu Aug 26 2021 Marian Csontos <mcsontos@redhat.com> - 2.03.12-8
- Rename vdoimport to lvm_import_vdo.
* Wed Aug 11 2021 Marian Csontos <mcsontos@redhat.com> - 2.03.12-7
- Fix missing executable flag on vdoimport.
* Tue Aug 03 2021 Marian Csontos <mcsontos@redhat.com> - 2.03.12-6
- Fix handling of pmspare by vgsplit, vgmerge and vgremove.
- Fix detection of active components of external origin volume.
* Tue Jul 13 2021 Marian Csontos <mcsontos@redhat.com> - 2.03.12-5
- Fix device_id handling of scsi_debug WWID.
- Add vdoimport support.
* Tue Jun 22 2021 Marian Csontos <mcsontos@redhat.com> - 2.03.12-4
- Fix conversion of writecache LVs to thin pool data volume.
- Add deviceidtype option for lvmdevices.
* Tue Jun 15 2021 Marian Csontos <mcsontos@redhat.com> - 2.03.12-3
- Allow extending thin-pool data with writecache on top.
- Fix removing thin-pool data converted to writeache.
* Tue Jun 01 2021 Marian Csontos <mcsontos@redhat.com> - 2.03.12-2
- Fix loading of VDO kernel module.
* Wed May 19 2021 Marian Csontos <mcsontos@redhat.com> - 2.03.12-1
- Update to upstream version 2.03.12.
- See WHATS_NEW for list of changes.
* Thu Feb 11 2021 Marian Csontos <mcsontos@redhat.com> - 2.03.11-4
- Fix "Failed to get primary device" for NVMe devices.
* Wed Feb 03 2021 Marian Csontos <mcsontos@redhat.com> - 2.03.11-3
- Fix mpath filtering of NVMe devices.
- Check if lvcreate passes read_only_volume_list with tags and skips zeroing.
- Limit pool metadata spare to 16GiB.
- Improves conversion and allocation of pool metadata.
- Fix different limits used for metadata by lvm2 and thin-tools.
- Fix interrupting lvconvert --splitcache command with striped origin volumes.
* Thu Jan 28 2021 Marian Csontos <mcsontos@redhat.com> - 2.03.11-2
- Fix problem with wiping of converted LVs.
- Fix memleak in scanning.
- Fix corner case allocation for thin-pools.
* Fri Jan 08 2021 Marian Csontos <mcsontos@redhat.com> - 2.03.11-1
- Fix pvck handling MDA at offset different from 4096.
- Partial or degraded activation of writecache is not allowed.
- Enhance error handling in fsadm and handle correct fsck result.
- Dmeventd lvm plugin ignores higher reserved_stack lvm.conf values.
- Support using BLKZEROOUT for clearing devices.
- Fixed interrup handling.
- Fix block cache when device has too many failing writes.
- Fix block cache waiting for IO completion with failing disks.
- Add configure --enable-editline support as an alternative to readline.
- Enhance reporting and error handling when creating thin volumes.
- Enable vgsplit for VDO volumes.
- Lvextend of vdo pool volumes ensure at least 1 new VDO slab is added.
- Restore lost signal blocking while VG lock is held.
- Improve estimation of needed extents when creating thin-pool.
- Use extra 1% when resizing thin-pool metadata LV with --use-policy.
- Enhance --use-policy percentage rounding.
- Allow pvmove of writecache origin.
- Report integrity fields.
- Integrity volumes defaults to journal mode.
* Wed Aug 12 2020 Marian Csontos <mcsontos@redhat.com> - 2.03.09-5
- Revert wipe_lv changes.
* Sun Aug 09 2020 Marian Csontos <mcsontos@redhat.com> - 2.03.09-4
- Merge fixes from upstream.
* Mon Jun 29 2020 Marian Csontos <mcsontos@redhat.com> - 2.03.09-3
- Merge fixes from upstream.
* Thu May 21 2020 Marian Csontos <mcsontos@redhat.com> - 2.03.09-2
- Merge fixes from upstream.
* Fri Apr 24 2020 Marian Csontos <mcsontos@redhat.com> - 2.03.09-1
- Fix support for lvconvert --repair of pools used by third party applications.
- Fix formating of vdopool (vdo_slab_size_mb was smaller by 2 bits).
- Fix busy loop in dmeventd.
- Fix lvmlocks.service using incorrect option.
* Wed Mar 18 2020 Marian Csontos <mcsontos@redhat.com> - 2.03.08-3
- Attaching writecache require inactive LV.
* Mon Feb 24 2020 Marian Csontos <mcsontos@redhat.com> - 2.03.08-2
- Writecache bug fixes.
* Tue Feb 11 2020 Marian Csontos <mcsontos@redhat.com> - 2.03.08-1
- VDO and writecache volume improvements.
- Prohibit reshaping of stacked raid LVs to prevent corruption.
* Fri Feb 07 2020 Marian Csontos <mcsontos@redhat.com> - 2.03.07-2
- VDO: Adapt for changed vdo_format output.
* Sat Nov 30 2019 Marian Csontos <mcsontos@redhat.com> - 2.03.07-1
- Ensure minimum required region size on striped RaidLV creation.
- Fix resize of thin-pool with data and metadata of different segtype.
- Improve mirror type leg splitting.
- Fix activation order when removing merged snapshot.
- Experimental VDO support for lvmdbusd.
- Correctly set read_ahead for LVs when pvmove is finished.
- Add support for DM_DEVICE_GET_TARGET_VERSION into device_mapper.
- Activate thin-pool layered volume as 'read-only' device.
- Ignore crypto devices with UUID signature CRYPT-SUBDEV.
- Synchronize with udev when dropping snapshot.
- Add missing device synchronization point before removing pvmove node.
- See WHATS_NEW for more.
* Wed Sep 25 2019 Marian Csontos <mcsontos@redhat.com> - 2.03.05-5
- Fix lvmlockd is not started with sanlock running.
* Sun Aug 18 2019 Marian Csontos <mcsontos@redhat.com> - 2.03.05-4
- Update tests.
* Sun Aug 18 2019 Marian Csontos <mcsontos@redhat.com> - 2.03.05-3
- Remove unsupported OPTIONS+="event_timeout" udev rule from 11-dm-lvm.rules.
- Prevent creating VGs with PVs with different logical block sizes.
- Fix metadata writes from corrupting with large physical block size.
* Wed Jul 24 2019 Marian Csontos <mcsontos@redhat.com> - 2.03.05-2
- Fix scanning of PVs with size not matching device.
- Allow --stripe/--stripesize in mirror conversions.
* Sat Jun 15 2019 Marian Csontos <mcsontos@redhat.com> - 2.03.05-1
- Update to upstream release 2.03.05.
* Mon Jun 10 2019 Marian Csontos <mcsontos@redhat.com> - 2.03.04-1
- Update to upstream release 2.03.04.
* Fri Feb 22 2019 Marian Csontos <mcsontos@redhat.com> - 2.03.02-6
* Thu Feb 07 2019 Marian Csontos <mcsontos@redhat.com> - 2.03.02-5
- Improve -lXXX%VG modifier which improves cache segment estimation.
* Thu Feb 07 2019 Marian Csontos <mcsontos@redhat.com> - 2.03.02-4
- Introduce LVM_SUPPRESS_SYSLOG to suppress syslog usage by generator.
- Fix generator querying config options missing from lvm.conf.
* Mon Jan 28 2019 Marian Csontos <mcsontos@redhat.com> - 2.03.02-3
- Fix handling of exported VGs lvmdbusd.
- Restore missing man info lvcreate --zero for thin-pools.
- Drop misleadning comment for metadata minimum_io_size for VDO segment.
- Ensure migration_threshold for cache is at least 8 chunks.
* Fri Jan 04 2019 Marian Csontos <mcsontos@redhat.com> - 2.03.02-2
- Fix dmeventd linking issues related to vdo.
- Fix vdo status parsing.
* Tue Dec 18 2018 Marian Csontos <mcsontos@redhat.com> - 2.03.02-1
- Fix libdevmapper-event linking issue.
- Fix missing proper initialization of pv_list struct when adding pv.
- Fix (de)activation of RaidLVs with visible SubLVs.
- Prohibit mirrored 'mirror' log via lvcreate and lvconvert.
- Use sync io if async io_setup fails, or use_aio=0 is set in config.
- Fix more issues reported by coverity scan.
* Thu Nov 01 2018 Marian Csontos <mcsontos@redhat.com> - 2.03.01-1
- Fix possible write beyond metadata area.
- Fix coverity issues.
* Thu Oct 11 2018 Marian Csontos <mcsontos@redhat.com> - 2.03.00-0.4
- Fix architecture of lvm2-dbusd subpackage.
* Thu Oct 11 2018 Marian Csontos <mcsontos@redhat.com> - 2.03.00-0.3
- Fix configure file issues.
* Wed Oct 10 2018 Marian Csontos <mcsontos@redhat.com> - 2.03.00-0.2
- New upstream release.
- Deduplication and compression - support for VDO volumes.
- Dropped lvmetad, clvmd and liblvm2app.
* Thu Aug 02 2018 Marian Csontos <mcsontos@redhat.com> - 2.02.181-1
- Reject conversions on raid1 LVs with split tracked SubLVs.
- Reject conversions on raid1 split tracked SubLVs.
- Fix dmstats list failing when no regions exist.
- Reject conversions of LVs under snapshot.
- Limit suggested options on incorrect option for lvconvert subcommand.
- Add vdo plugin for monitoring VDO devices.
* Thu Jul 19 2018 Marian Csontos <mcsontos@redhat.com> - 2.02.180-1
- Never send any discard ioctl with test mode.
- Fix thin-pool alloc which needs same PV for data and metadata.
- Enhance vgcfgrestore to check for active LVs in restored VG.
- Provide possible layouts when converting between linear and striped/raid.
- Fix unmonitoring of merging snapshots.
- Cache can uses metadata format 2 with cleaner policy.
- Avoid showing internal error in lvs output or pvmoved LVs.
- Fix check if resized PV can also fit metadata area.
- Reopen devices RDWR only before writing to avoid udev issues.
- Change pvresize output confusing when no resize took place.
- Fix lvmetad hanging on shutdown.
- Fix mem leak in clvmd and more coverity issues.
* Tue Jul 10 2018 Marian Csontos <mcsontos@redhat.com> - 2.02.179-4
- Remove deprecated python bindings.
* Tue Jul 03 2018 Tomas Orsava <torsava@redhat.com> - 2.02.179-3
- Switch hardcoded python3 path into the %%{__python3} macro
- Patch is needed for the configure file because it mistakenly unsets the user
defined variable PYTHON before checking it
* Mon Jun 18 2018 Marian Csontos <mcsontos@redhat.com> - 2.02.179-1
- Bugfix release mainly fixing known cache and lvmlockd issues.
- Remove lvm1 and pool format handling and add filter to ignore them.
- Rework disk scanning and when it is used.
- Add new io layer using libaio for faster scanning.
- Support activation of component LVs in read-only mode.
- Avoid non-exclusive activation of exclusive segment types.
- Restore pvmove support for clusterwide active volumes (2.02.177).
- Add prioritized_section() to restore cookie boundaries (2.02.177).
- Again accept striped LV as COW LV with lvconvert -s (2.02.169).
- Restore usability of thin LV to be again external origin for another thin (2.02.169).
- See WHATS_NEW and WHATS_NEW_DM in the documentation directory for more.
* Thu May 10 2018 Marian Csontos <mcsontos@redhat.com> - 2.02.177-5
- Remove python2 bindings.
- Remove lvm2-testsuite subpackage.
* Fri Feb 09 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 2.02.177-4
- Escape macros in %%changelog
* Thu Feb 08 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.02.177-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Tue Jan 09 2018 Iryna Shcherbina <ishcherb@redhat.com> - 2.02.177-2
- Update Python 2 dependency declarations to new packaging standards
(See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3)
* Tue Dec 19 2017 Marian Csontos <mcsontos@redhat.com> - 2.02.177-1
- When writing text metadata content, use complete 4096 byte blocks.
- Change text format metadata alignment from 512 to 4096 bytes.
- When writing metadata, consistently skip mdas marked as failed.
- Refactor and adjust text format metadata alignment calculation.
- Fix python3 path in lvmdbusd to use value detected by configure.
- Reduce checks for active LVs in vgchange before background polling.
- Ensure _node_send_message always uses clean status of thin pool.
- Fix lvmlockd to use pool lock when accessing _tmeta volume.
- Report expected sanlock_convert errors only when retries fail.
- Avoid blocking in sanlock_convert on SH to EX lock conversion.
- Deactivate missing raid LV legs (_rimage_X-missing_Y_Z) on decativation.
- Skip read-modify-write when entire block is replaced.
- Categorise I/O with reason annotations in debug messages.
- Allow extending of raid LVs created with --nosync after a failed repair.
- Command will lock memory only when suspending volumes.
- Merge segments when pvmove is finished.
- Remove label_verify that has never been used.
- Ensure very large numbers used as arguments are not casted to lower values.
- Enhance reading and validation of options stripes and stripes_size.
- Fix printing of default stripe size when user is not using stripes.
- Activation code for pvmove automatically discovers holding LVs for resume.
- Make a pvmove LV locking holder.
- Do not change critical section counter on resume path without real resume.
- Enhance activation code to automatically suspend pvmove participants.
- Prevent conversion of thin volumes to snapshot origin when lvmlockd is used.
- Correct the steps to change lock type in lvmlockd man page.
- Retry lock acquisition on recognized sanlock errors.
- Fix lock manager error codes in lvmlockd.
- Remove unnecessary single read from lvmdiskscan.
- Check raid reshape flags in vg_validate().
- Add support for pvmove of cache and snapshot origins.
- Avoid using precommitted metadata for suspending pvmove tree.
- Ehnance pvmove locking.
- Deactivate activated LVs on error path when pvmove activation fails.
- Add "io" to log/debug_classes for logging low-level I/O.
- Avoid importing persistent filter in vgscan/pvscan/vgrename.
- Fix memleak of string buffer when vgcfgbackup runs in secure mode.
- Do not print error when clvmd cannot find running clvmd.
- Prevent start of new merge of snapshot if origin is already being merged.
- Fix offered type for raid6_n_6 to raid5 conversion (raid5_n).
- Deactivate sub LVs when removing unused cache-pool.
- Do not take backup with suspended devices.
- Avoid RAID4 activation on incompatible kernels under all circumstances.
- Reject conversion request to striped/raid0 on 2-legged raid4/5.
- Activation tree of thin pool skips duplicated check of pool status.
- Remove code supporting replicator target.
- Do not ignore failure of _info_by_dev().
- Propagate delayed resume for pvmove subvolumes.
- Suppress integrity encryption keys in 'table' output unless --showkeys supplied.
* Thu Dec 14 2017 Marian Csontos <mcsontos@redhat.com> - 2.02.176-2
- Add testsuite subpackage.
* Fri Nov 03 2017 Marian Csontos <mcsontos@redhat.com> - 2.02.176-1
- Fix segfault in lvm_pv_remove in liblvm. (2.02.173)
- Do not allow storing VG metadata with LV without any segment.
- Fix printed message when thin snapshot was already merged.
- Remove created spare LV when creation of thin-pool failed.
- Avoid reading ignored metadata when MDA gets used again.
- Fix detection of moved PVs in vgsplit. (2.02.175)
- Ignore --stripes/--stripesize on RAID takeover
- Disallow creation of snapshot of mirror/raid subLV (was never supported).
- Keep Install section only in *.socket systemd units.
- Improve used paths for generated systemd units and init shells.
- Fix regression in more advanced vgname extraction in lvconvert (2.02.169).
- Allow lvcreate to be used for caching of _tdata LV.
- Avoid internal error when resizing cache type _tdata LV (not yet supported).
- Show original converted names when lvconverting LV to pool volume.
- Move lib code used only by liblvm into metadata-liblvm.c.
- Distinguish between device not found and excluded by filter.
- Monitor external origin LVs.
- Allow lvcreate --type mirror to work with 100%%FREE.
- Improve selection of resource name for complex volume activation lock.
- Avoid cutting first character of resource name for activation lock.
- Support for encrypted devices in fsadm.
- Improve thin pool overprovisioning and repair warning messages.
- Fix incorrect adjustment of region size on striped RaidLVs.
- Issue a specific error with dmsetup status if device is unknown.
- Fix RT_LIBS reference in generated libdevmapper.pc for pkg-config.
* Mon Oct 09 2017 Marian Csontos <mcsontos@redhat.com> - 2.02.175-1
- Use --help with blockdev when checking for --getsize64 support in fsadm.
- Dump lvmdbusd debug information with SIGUSR1.
- Fix metadata corruption in vgsplit and vgmerge intermediate states.
- Add PV_MOVED_VG PV status flag to mark PVs moving between VGs.
- Fix lvmdbus hang and recognise unknown VG correctly.
- Improve error messages when command rules fail.
- Require LV name with pvmove in a shared VG.
- Allow shared active mirror LVs with lvmlockd, dlm, and cmirrord.
- Support lvconvert --repair with cache and cachepool volumes.
- lvconvert --repair respects --poolmetadataspare option.
- Fix thin pool creation in a shared VG. (2.02.173)
- Schedule exit when received SIGTERM in dmeventd.
- Fix blkdeactivate regression with failing DM/MD devs deactivation (1.02.142).
- Add blkdeactivate -r wait option to wait for MD resync/recovery/reshape.
- Use blkdeactivate -r wait in blk-availability systemd service/initscript.
- Also try to unmount /boot on blkdeactivate -u if on top of supported device.
- Fix typo in blkdeactivate's '--{dm,lvm,mpath}options' option name.
- Correct return value testing when get reserved values for reporting.
- Take -S with dmsetup suspend/resume/clear/wipe_table/remove/deps/status/table.
- Fix mistakenly commented out %%python_provide line for python3-lvm.
* Mon Oct 02 2017 Troy Dawson <tdawson@redhat.com> - 2.02.174-2
- Bump to rebuild on rebuilt corosync
- Cleanup spec file conditionals
* Wed Sep 20 2017 Marian Csontos <mcsontos@redhat.com> - 2.02.174-1.f28
- NOTE: Deprecating python bindings and liblvm2app.
- Prevent raid1 split with trackchanges in a shared VG.
- Avoid double unlocking of client & lockspace mutexes in lvmlockd.
- Fix leaking of file descriptor for non-blocking filebased locking.
- Fix check for 2nd mda at end of disk fits if using pvcreate --restorefile.
- Use maximum metadataarea size that fits with pvcreate --restorefile.
- Always clear cached bootloaderarea when wiping label e.g. in pvcreate.
- Disallow --bootloaderareasize with pvcreate --restorefile.
- Fix lvmlockd check for running lock managers during lock adoption.
- Add --withgeneralpreamble and --withlocalpreamble to lvmconfig.
- Add warning when creating thin-pool with zeroing and chunk size >= 512KiB.
- Introduce exit code 4 EINIT_FAILED to replace -1 when initialisation fails.
- Add synchronization points with udev during reshape of raid LVs.
- Restore umask when creation of node fails.
- Add --concise to dmsetup create for many devices with tables in one command.
- Accept minor number without major in library when it knows dm major number.
- Introduce single-line concise table output format: dmsetup table --concise.
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.02.173-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
* Sun Jul 30 2017 Florian Weimer <fweimer@redhat.com> - 2.02.173-3
- Rebuild with binutils fix for ppc64le (#1475636)
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.02.173-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Tue Jul 25 2017 Marian Csontos <mcsontos@redhat.com> - 2.02.173-1
- Create /dev/disk/by-part{uuid,label} and gpt-auto-root symlinks with udev.
- Add synchronization points with udev during conversion of raid LVs.
- Improve --size args validation and report more detailed error message.
- Initialize debugging mutex before any debug message in clvmd.
- Log error instead of warn when noticing connection problem with lvmetad.
- Fix memory leak in lvmetad when working with duplicates.
- Remove restrictions on reshaping open and clustered raid devices.
- Add incompatible data_offset to raid metadata to fix reshape activation.
- Accept 'lvm -h' and 'lvm --help' as well as 'lvm help' for help.
- Suppress error message from accept() on clean lvmetad shutdown.
- Tidy clvmd client list processing and fix segfaults.
- Protect clvmd debug log messages with mutex and add client id.
- Fix shellcheck reported issues for script files.
* Thu Jun 29 2017 Marian Csontos <mcsontos@redhat.com> - 2.02.172-1
- Do not lvdisplay --maps unset settings of cache pool.
- Fix lvdisplay --maps for cache pool without policy settings.
- Support aborting of flushing cache LV.
- Improve lvcreate --cachepool arg validation.
- Cache format2 flag is now using segment name type field.
- Disallow cachepool creation with policy cleaner and mode writeback.
- Lvconvert --repair handles failing raid legs (present but marked 'D'ead).
- Add display_percent helper function for printing percent values.
- Add dm_percent_to_round_float for adjusted percentage rounding.
- Fix lvcreate extent percentage calculation for mirrors.
- Reenable conversion of data and metadata thin-pool volumes to raid.
- Linear to RAID1 upconverts now use "recover" sync action, not "resync".
- No longer necessary to '--force' a repair for RAID1.
- Improve raid status reporting with lvs.
- dm_get_status_raid() handle better some incosistent md statuses.
- Limit maximal size of thin-pool for specific chunk size.
- Print a warning about in-use PVs with no VG using them.
- Disable automatic clearing of PVs that look like in-use orphans.
- Extend validation of filesystems resized by fsadm.
- Properly handle subshell return codes in fsadm.
- Stop using '--yes' mode when fsadm runs without terminal.
- Support storing status flags via segtype name field.
- Enhance lvconvert automatic settings of possible (raid) LV types.
- Add missing NULL to argv array when spliting cmdline arguments.
- Don't reinstate still-missing devices when correcting inconsistent metadata.
- Allow lvchange to change properties on a thin pool data sub LV.
- Fix reusing of dm_task structure for status reading (used by dmeventd).
- Drop unneeded --config option from raid dmeventd plugin.
- Accept truncated files in calls to dm_stats_update_regions_from_fd().
- Restore Warning by 5% increment when thin-pool is over 80% (1.02.138).
- Reset array with dead rimage devices once raid gets in sync.
* Fri Jun 09 2017 Marian Csontos <mcsontos@redhat.com> - 2.02.171-3
- Fix lvmdbusd not passing --all with vgreduce --removemissing.
* Wed May 17 2017 Marian Csontos <mcsontos@redhat.com> - 2.02.171-2
- Fix lvmdbusd mangling config options.
* Tue May 09 2017 Marian Csontos <mcsontos@redhat.com> - 2.02.171-1
- Add RAID takeover and reshaping.
- Add pvcreate prompt when device size doesn't match setphysicalvolumesize.
- Remove obsolete lvmchange binary - convert to built-in command.
- Support cache segment with configurable metadata format.
- Add option for lvcreate/lvconvert --cachemetadataformat auto|1|2.
- Add allocation/cache_metadata_format profilable settings.
- Command line options, help and man pages using common definitions.
- Add build-time configuration command line to 'lvm version' output.
- Disable lvmetad when lvconvert --repair is run.
- Raise mirror/raid default regionsize to 2MiB.
- Support shrinking of RaidLVs.
- Introduce global/fsadm_executable to make fsadm path configurable.
- Look for limited thin pool metadata size when using 16G metadata.
- Add lvconvert pool creation rule disallowing options with poolmetadata.
- Fix missing lvmlockd LV locks in lvchange and lvconvert.
- Fix dmeventd setup for lvchange --poll.
- Fix use of --poll and --monitor with lvchange and vgchange.
- Disallow lvconvert of hidden LV to a pool.
- Ignore --partial option when not used for activation.
- Allow --activationmode option with lvchange --refresh.
- Allow valid lvconvert --regionsize change
- Fix SIGINT blocking to prevent corrupted metadata
- Fix systemd unit existence check for lvmconf --services --startstopservices.
- Check and use PATH_MAX buffers when creating vgrename device paths.
- Handle known table line parameter order change in specific raid target vsns.
- Show more information for cached volumes in lvdisplay [-m].
- Use function cache_set_params() for both lvcreate and lvconvert.
- Skip rounding on cache chunk size boudary when create cache LV.
- Improve cache_set_params support for chunk_size selection.
- Fix metadata profile allocation/cache_[mode|policy] setting.
- Fix missing support for using allocation/cache_pool_chunk_size setting.
- Support conversion of raid type, stripesize and number of disks
- Reject writemostly/writebehind in lvchange during resynchronization.
- Deactivate active origin first before removal for improved workflow.
- Fix regression of accepting both --type and -m with lvresize. (2.02.158)
- Add extra memory page when limiting pthread stack size in clvmd.
- Support striped/raid0* <-> raid10_near conversions.
- Support region size changes on existing RaidLVs.
- Avoid parallel usage of cpg_mcast_joined() in clvmd with corosync.
- Support raid6_{ls,rs,la,ra}_6 segment types and conversions from/to it.
- Support raid6_n_6 segment type and conversions from/to it.
- Support raid5_n segment type and conversions from/to it.
- Support new internal command _dmeventd_thin_command.
- Introduce new dmeventd/thin_command configurable setting.
- Use new default units 'r' for displaying sizes.
- Also unmount mount point on top of MD device if using blkdeactivate -u.
- Restore check preventing resize of cache type volumes (2.02.158).
- Add missing udev sync when flushing dirty cache content.
- vgchange -p accepts only uint32 numbers.
- Report thin LV date for merged LV when the merge is in progress.
- Detect if snapshot merge really started before polling for progress.
- Checking LV for merging origin requires also it has merged snapshot.
- Extend validation of metadata processing.
- Enable usage of cached volumes as snapshot origin LV.
- Fix displayed lv name when splitting snapshot (2.02.146).
- Warn about command not making metadata backup just once per command.
- Enable usage of cached volume as thin volume's external origin.
- Support cache volume activation with -real layer.
- Improve search of lock-holder for external origin and thin-pool.
- Support status checking of cache volume used in layer.
- Avoid shifting by one number of blocks when clearing dirty cache volume.
- Extend metadata validation of external origin LV use count.
- Fix dm table when the last user of active external origin is removed.
- Improve reported lvs status for active external origin volume.
- Fix table load for splitted RAID LV and require explicit activation.
- Always active splitted RAID LV exclusively locally.
- Do not use LV RAID status bit for segment status.
- Check segtype directly instead of checking RAID in segment status.
- Reusing exiting code for raid image removal.
- Fix pvmove leaving -pvmove0 error device in clustered VG.
- Avoid adding extra '_' at end of raid extracted images or metadata.
- Optimize another _rmeta clearing code.
- Fix deactivation of raid orphan devices for clustered VG.
- Fix lvconvert raid1 to mirror table reload order.
- Add internal function for separate mirror log preparation.
- Fix segfault in lvmetad from missing NULL in daemon_reply_simple.
- Simplify internal _info_run() and use _setup_task_run() for mknod.
- Better API for internal function _setup_task_run.
- Avoid using lv_has_target_type() call within lv_info_with_seg_status.
- Simplify internal lv_info_with_seg_status API.
- Decide which status is needed in one place for lv_info_with_seg_status.
- Fix matching of LV segment when checking for it info status.
- Report log_warn when status cannot be parsed.
- Test segment type before accessing segment members when checking status.
- Implement compatible target function for stripe segment.
- Use status info to report merge failed and snapshot invalid lvs fields.
- See WHATS_NEW and WHATS_NEW_DM in the documentation directory for more.
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.02.168-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Thu Jan 12 2017 Igor Gnatenko <ignatenko@redhat.com> - 2.02.168-3
- Rebuild for readline 7.x
* Mon Dec 19 2016 Miro Hrončok <mhroncok@redhat.com> - 2.02.168-2
- Rebuild for Python 3.6
* Thu Dec 01 2016 Peter Rajnoha <prajnoha@redhat.com> - 2.02.168-1
- Display correct sync_percent on large RaidLVs
- lvmdbusd --blackboxsize <n> added, used to override default size of 16
- Allow a transiently failed RaidLV to be refreshed
- Use lv_update_and_reload() inside mirror code where it applies.
- Preserve mirrored status for temporary layered mirrors.
- Use transient raid check before repairing raid volume.
- Implement transient status check for raid volumes.
- Only log msg as debug if lvm2-lvmdbusd unit missing for D-Bus notification.
- Avoid duplicated underscore in name of extracted LV image.
- Missing stripe filler now could be also 'zero'.
- lvconvert --repair accepts --interval and --background option.
- More efficiently prepare _rmeta devices when creating a new raid LV.
- Document raid status values.
- Always exit dmsetup with success when asked to display help/version.
* Tue Nov 15 2016 Peter Rajnoha <prajnoha@redhat.com> - 2.02.167-2
- Only log msg as debug if lvm2-lvmdbusd unit missing for D-Bus notification.
* Mon Nov 07 2016 Peter Rajnoha <prajnoha@redhat.com> - 2.02.167-1
- Use log_error in regex and sysfs filter to describe reason of failure.
- Fix blkdeactivate to deactivate dev stack if dev on top already unmounted.
- Prevent non-synced raid1 repair unless --force
- Prevent raid4 creation/conversion on non-supporting kernels
- Add direct striped -> raid4 conversion
- Fix raid4 parity image pair position on conversions from striped/raid0*
- Fix a few unconverted return code values for some lvconvert error path.
- Disable lvconvert of thin pool to raid while active.
- Disable systemd service start rate limiting for lvm2-pvscan@.service.
- Log failure of raid device with log_error level.
- Use dm_log_with_errno and translate runtime to dm_log only when needed.
- Make log messages from dm and lvm library different from dmeventd.
- Notice and Info messages are again logged from dmeventd and its plugins.
- Dmeventd now also respects DM_ABORT_ON_INTERNAL_ERRORS as libdm based tool.
- Report as non default dm logging also when logging with errno was changed.
- Use log_level() macro to consistently decode message log level in dmeventd.
- Still produce output when dmsetup dependency tree building finds dev missing.
- Check and report pthread_sigmask() failure in dmeventd.
- Check mem alloc fail in _canonicalize_field_ids().
- Use unsigned math when checking more then 31 legs of raid.
- Fix 'dmstats delete' with dmsetup older than v1.02.129
- Fix stats walk segfault with dmsetup older than v1.02.129
* Thu Oct 06 2016 Peter Rajnoha <prajnoha@redhat.com> - 2.02.166-2
- Add various fixes for lvmdbusd from upcoming lvm2 version 2.02.167.
* Mon Sep 26 2016 Peter Rajnoha <prajnoha@redhat.com> - 2.02.166-1
- Fix lvm2-activation-generator to read all LVM2 config sources. (2.02.155)
- Fix lvchange-rebuild-raid.sh to cope with older target versions.
- Use dm_config_parse_without_dup_node_check() to speedup metadata reading.
- Fix lvconvert --repair regression
- Fix reported origin lv field for cache volumes. (2.02.133)
- Always specify snapshot cow LV for monitoring not internal LV. (2.02.165)
- Fix lvchange --discard|--zero for active thin-pool.
- Enforce 4MiB or 25% metadata free space for thin pool operations.
- Fix lock-holder device for thin pool with inactive thin volumes.
- Use --alloc normal for mirror logs even if the mimages were stricter.
- Use O_DIRECT to gather metadata in lvmdump.
- Ignore creation_time when checking for matching metadata for lvmetad.
- Fix possible NULL pointer derefence when checking for monitoring.
- Add lvmreport(7) man page.
- Don't install lvmraid(7) man page when raid excluded. (2.02.165)
- Report 0% as dirty (copy%%) for cache without any used block.
- Fix lvm2api reporting of cache data and metadata percent.
- Restore reporting of metadata usage for cache volumes (2.02.155).
- Support raid scrubbing on cache origin LV.
- Fix man entry for dmsetup status.
- Introduce new dm_config_parse_without_dup_node_check().
- Don't omit last entry in dmstats list --group.
* Wed Sep 07 2016 Peter Rajnoha <prajnoha@redhat.com> - 2.02.165-1
- Add lvmraid(7) man page.
- Use udev db to check for mpath components before running pvscan for lvmetad.
- Use lsblk -s and lsblk -O in lvmdump only if these options are supported.
- Fix number of stripes shown in lvcreate raid10 message when too many.
- Change lvmdbusd to use new lvm shell facilities.
- Do not monitor cache-pool metadata when LV is just being cleared.
- Add allocation/cache_pool_max_chunks to prevent misuse of cache target.
- Give error not segfault in lvconvert --splitmirrors when PV lies outside LV.
- Fix typo in report/columns_as_rows config option name recognition (2.02.99).
- Avoid PV tags when checking allocation against parallel PVs.
- Disallow mirror conversions of raid10 volumes.
- Fix dmeventd unmonitoring when segment type (and dso) changes.
- Don't allow lvconvert --repair on raid0 devices or attempt to monitor them.
- No longer adjust incorrect number of raid stripes supplied to lvcreate.
- Move lcm and gcd to lib/misc.
- Fix vgsplit of external origins. (2.02.162)
- Prohibit creation of RAID LVs unless VG extent size is at least the page size.
- Suppress some unnecessary --stripesize parameter warnings.
- Fix 'pvmove -n name ...' to prohibit collocation of RAID SubLVs
- Improve explanation of udev fallback in libdevmapper.h.
* Mon Aug 15 2016 Peter Rajnoha <prajnoha@redhat.com> - 2.02.164-2
- Fix selection of PVs when allocating raid0_meta.
- Fix sdbus socket leak leading to hang in lvmnotify.
- Specify max stripes for raid LV types: raid0:64; 1:10; 4,5:63; 6:62; 10:32.
- Avoid double suffix when naming _rmeta LV paired with _rimage LV.
* Wed Aug 10 2016 Peter Rajnoha <prajnoha@redhat.com> - 2.02.163-1
- Add profile for lvmdbusd which uses lvm shell json report output.
- Restrict in-command modification of some parms in lvm shell.
- Apply LVM_COMMAND_PROFILE early for lvm shell.
- Refactor reporting so lvm shell log report collects whole of cmd execution.
- Support LVM_*_FD envvars to redirect output to file descriptors.
- Limit use of --corelog and --mirrorlog to mirrors in lvconvert.
- Reject --nosync option for RAID6 LVs in lvcreate.
- Do not refresh whole cmd context if profile dropped after processing LVM cmd.
- Support straightforward lvconvert between striped and raid4 LVs.
- Support straightforward lvconvert between raid1 and mirror LVs.
- Report supported conversions when asked for unsupported raid lvconvert.
- Add "--rebuild PV" option to lvchange to allow for PV selective rebuilds.
- Preserve existing mirror region size when using --repair.
- Forbid stripe parameters with lvconvert --repair.
- Unify stripe size validation into get_stripe_params to catch missing cases.
- Further lvconvert validation logic refactoring.
- Add "lvm fullreport" man page.
- Add dm_report_destroy_rows/dm_report_group_output_and_pop_all for lvm shell.
- Adjust group handling and json production for lvm shell.
* Fri Jul 29 2016 Peter Rajnoha <prajnoha@redhat.com> - 2.02.162-1
- Support lvconvert -Zn also when doing full cache pool conversion.
- Suppress not zeroing warn when converting to thin LV for non-zeroing tpool.
- Fix automatic updates of PV extension headers to newest version.
- Improve lvconvert --trackchanges validation to require --splitmirrors 1.
- Add note about lastlog built-in command to lvm man page.
- Fix unrecognised segtype flag message.
- lvconvert not clears cache pool metadata ONLY with -Zn.
- Enabled lvconvert --uncache to work with partial VG.
- Fix json reporting to escape '"' character that may appear in reported string.
* Thu Jul 21 2016 Peter Rajnoha <prajnoha@redhat.com> - 2.02.161-3
- Enable LVM notifications over dbus for lvmdbusd.
* Tue Jul 19 2016 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.02.161-2
- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages
* Mon Jul 18 2016 Peter Rajnoha <prajnoha@redhat.com> - 2.02.161-1
- Prohibit some lvchange/lvresize that were failing on raid0 volumes.
- Fix segfaults in complex vgsplits. (2.02.159)
- Reformat unwieldy lvconvert man page.
- Allow --force to be passed through to pvcreate from vgcreate. (2.02.144)
- Fix lvresize of filesystem when LV has already right size (2.02.141)
- New LVM_LOG_FILE_MAX_LINES env var to limit max size of created logs.
- Disable queueing on mpath devs in blk-availability systemd service/initscript.
- Add new -m|--mpathoption disablequeueing to blkdeactivate.
- Automatically group regions with 'create --segments' unless --nogroup.
- Fix resource leak when deleting the first member of a group.
- Allow --bounds with 'create --filemap' for dmstats.
- Enable creation of filemap regions with histograms.
- Enable histogram aggregation for regions with more than one area.
- Enable histogram aggregation for groups of regions.
- Add a --filemap option to 'dmstats create' to allow mapping of files.
- Add dm_stats_create_regions_from_fd() to map file extents to regions.
* Thu Jul 07 2016 Peter Rajnoha <prajnoha@redhat.com> - 2.02.160-1
- Minor fixes from coverity.
* Thu Jul 07 2016 Peter Rajnoha <prajnoha@redhat.com> - 2.02.159-1
- Add raid0_meta segment type that provides metadata space for raid conversions.
- Fix created link for a used pool for vgmknode.
- Introduce and use is_power_of_2 macro.
- Support conversions between striped and raid0 segment types.
- Add infrastructure for raid takeover lvconvert options.
- Update default dmstats field selections for groups.
- Add 'obj_type', 'group_id', and 'statsname' fields to dmstats reports.
- Add --area, --region, and --group to dmstats to control object selection.
- Add --alias, --groupid, --regions to dmstats for group creation and deletion.
- Add 'group' and 'ungroup' commands to dmstats.
- Allow dm_stats_delete_group() to optionally delete all group members.
- Add dm_stats_get_object_type() to return the type of object present.
- Add dm_stats_walk_init() allowing control of objects visited by walks.
- Add dm_stats_get_group_descriptor() to return the member list as a string.
- Introduce dm_stats_get_nr_groups() and dm_stats_group_present().
- Add dm_stats_{get,set}_alias() to set and retrieve alias names for groups.
- Add dm_stats_get_group_id() to return the group ID for a given region.
- Add dm_stats_{create,delete}_group() to allow grouping of stats regions.
- Add enum-driven dm_stats_get_{metric,counter}() interfaces.
- Add dm_bitset_parse_list() to parse a string representation of a bitset.
- Thin dmeventd plugin umounts lvm2 volume only when pool is 95% or more.
* Tue Jun 28 2016 Peter Rajnoha <prajnoha@redhat.com> - 2.02.158-1
- Add a more efficient native vgimportclone command to replace the script.
- Make lvmlockd always attempt to connect to lvmetad if no connection exists.
- Let lvmetad handle new connections after shutdown signal.
- Disable lvmetad when vgcfgrestore begins and enable it again after.
- Make pvscan do activation if lvmetad is configured but not running.
- Fix rescanning the PVs for a single VG when using lvmetad.
- Pool metadata lvresize uses now same code as resize of normal volume.
- Preserve monitoring status when updating thin-pool metadata.
- Return 0 (inactive) when status cannot be queried in _lv_active().
- Switch to log_warn() for failing activation status query.
- Replace vgimportclone script with binary.
- While lvmetad is shutting down, continue handling all connections cleanly.
- Refactor lvconvert argument handling code.
- Notify lvmetad when vgcfgrestore changes VG metadata.
- Add --logonly option to report only cmd log for a command, not other reports.
- Add log/command_log_selection to configure default selection used on cmd log.
- Use 'orphan' object type in cmd log for groups to collect PVs not yet in VGs.
- Add lvm lastlog command for query and display of last cmd's log in lvm shell.
- Report per-object return codes via cmd log while processing multiple objects.
- Annotate processing code with log report hooks for per-object command log.
- Also pass common printed messages (besides warnings and errors) to log report.
- Log warnings and errors via report during cmd processing if this is enabled.
- Make it possible to iterate over internal 'orphan' VGs in process_each_vg fn.
- Make -S|--select option groupable that allows this option to be repeated.
- Make -O|--sort option groupable that allows this option to be repeated.
- Add --configreport option to select report for which next options are applied.
- Add support for priorities on grouping command arguments.
- Add report/{pvs,vgs,lvs,pvsegs,segs}_{cols,sort}_full to lvm.conf.
- Add lvm fullreport command for joined PV, VG, LV and segment report per VG.
- Integrate report group handling and cmd log report into cmd processing code.
- Add log/report_command_log to lvm.conf to enable or disable cmd log report.
- Add log/report_output_format to lvm.conf for default report output format.
- Recognize --reportformat {basic|json} option to select report output format.
- Add log/command_log_{sort,cols} to lvm.conf to configure command log report.
- Add log_object_{type,name,id,group,group_id} fields to cmd log.
- Add log_{seq_num,type,context,message,errno,ret_code} fields to cmd log.
- Add CMDLOG report type - a separate report type for command logging.
- Recognize 'all' keyword used in selection as synonym for "" (no selection).
- Add dm_report_set_selection to set selection for multiple output of report.
- Add DM_REPORT_OUTPUT_MULTIPLE_TIMES flag for multiple output of same report.
- Move field width handling/sort init from dm_report_object to dm_report_output.
- Add _LOG_BYPASS_REPORT flag for bypassing any log report currently set.
- Introduce DM_REPORT_GROUP_JSON for report group with JSON output format.
- Introduce DM_REPORT_GROUP_BASIC for report group with basic report output.
- Introduce DM_REPORT_GROUP_SINGLE for report group having single report only.
- Add dm_report_group_{create,push,pop,destroy} to support report grouping.
* Fri Jun 17 2016 Peter Rajnoha <prajnoha@redhat.com> - 2.02.157-2
- Change pvscan --cache -aay to scan locally if lvmetad fails.
* Mon Jun 13 2016 Peter Rajnoha <prajnoha@redhat.com> - 2.02.156-1
- Don't allow duplicate orphan PVs to be used with vgcreate/vgextend/pvcreate.
- Improve handling of lvmetad update failures.
- Yes/No prompt accepts '^[ ^t]*([Yy]([Ee]([Ss]|)|)|[Nn]([Oo]|))[ ^t]*$'.
- If available, also collect output from lsblk command when running lvmdump -s.
* Mon Jun 06 2016 Peter Rajnoha <prajnoha@redhat.com> - 2.02.155-2
- Fix regression in blkdeactivate causing dm and md devices to be skipped. (2.02.155)
* Mon Jun 06 2016 Peter Rajnoha <prajnoha@redhat.com> - 2.02.155-1
- Reject PV tags on pvmove cmdline because only 1 PV is supported. (2.02.141)
- Fix compilation error when building with configure --disable-devmapper.
- Fix lvmconfig --type diff to display complete diff if config cascade used.
- Automatically filter out partitioned loop devices with partscan (losetup -P).
- Fix lvm devtypes internal error if -S used with field name from pvs/vgs/lvs.
- When reporting Data%%,Snap%%,Meta%%,Cpy%%Sync use single ioctl per LV.
- Add lvseg_percent_with_info_and_seg_status() for percent retrieval.
- Enhance internal seg_status handling to understand snapshots better.
- When refresh failed in suspend, call resume upon error path.
- Support passthrough cache mode when waiting for clean cache.
- Check cache status only for 'in-use' cache pools.
- Extend setup_task() to preset flushing for dm_task object.
- When checking LV is a merging COW, validate its a COW LV first.
- Correcting value in copy_percent() for 100%%.
- Update vgreduce to use process_each_vg.
- Update lvconvert to use process_each_lv.
- Update pvscan to use process_each_vg for autoactivation.
- Add basic support for --type raid0 using md.
- Add support for lvchange --cachemode for cached LV.
- Fix liblvm2app error handling when setting up context.
- Delay liblvm2app init in python code until it is needed.
- Simplify thread locking in lvmetad to fix locking problems.
- Allow pvremove -ff to remove a duplicate PV.
- Fix lvm2-activation-generator to read lvm.conf without full command setup.
- Allow a minimal context to be used in lvm2app for reading lvm.conf.
- Report passthrough caching mode when parsing cache mode.
* Mon May 16 2016 Peter Rajnoha <prajnoha@redhat.com> - 2.02.154-1
- Fix liblvm segfault after failure initialising lvmetad connection.
- Retry open without O_NOATIME if it fails (not file owner/CAP_FOWNER).
- Split _report into one fn for options and arguments and one for processing.
- Show library version in message even if dm driver version is unavailable.
* Tue May 10 2016 Peter Rajnoha <prajnoha@redhat.com> - 2.02.153-2
- Change warning messages related to duplicate PVs.
- A named device is always processed itself, not switched for a duplicate.
- Add PV attr "d" and report field "duplicate" for duplicate PVs.
- Add config setting to disallow VG changes when duplicate PVs exist.
- Use device size and active LVs to choose the preferred duplicate PV.
- Disable lvmetad when duplicate PVs are seen.
- Support --chunksize option also when caching LV when possible.
- Add function to check for target presence and version via 1 ioctl.
* Mon May 02 2016 Peter Rajnoha <prajnoha@redhat.com> - 2.02.152-1
- Use any inherited tags when wiping metadata sub LVs to ensure activation.
- Add str_list_wipe.
- Improve support for interrupting procesing of volumes during lvchange.
- Use failed command return code when lvchanging read-only volume.
- Show creation transaction_id and zeroing state of pool with thin volume.
- Stop checking for dm_cache_mq policy with cache target 1.9 (alias to smq).
- Check first /sys/module/dm_* dir existance before using modprobe.
- Remove mpath from 10-dm.rules, superseded by 11-dm-mpath.rules (mpath>=0.6.0).
- Add dm_udev_wait_immediate to libdevmapper for waiting outside the library.
* Mon Apr 25 2016 Peter Rajnoha <prajnoha@redhat.com> - 2.02.151-1
- Fix error path after reusing of _setup_task (2.02.150).
- Fix memory access for empty sysfs values (2.02.149).
- Disable lvmetad when lvm1 metadata is seen, so commands revert to scanning.
- Suppress errors when snapshot merge gets delayed because volume is in use.
- Avoid internal snapshot LV names in messages.
- Autodetect and use /run/lock dir when available instead of /var/lock.
- lvchange --refresh for merging thin origin will retry to deactivate snapshot.
- Recognize in-progress snapshot merge for thin volumes from dm table.
- Avoid deciding to initiate a pending snapshot merge during resume.
- Improve retrying lvmetad requests while lvmetad is being updated.
- Read devices instead of using the lvmetad cache if rescan fails.
- Move lvmetad token/filter check and device rescan to the start of commands.
- Don't try deactivating fictional internal LV before snapshot merge. (2.02.105)
- When not obtaining devs from udev, check they exist before caching them.
- Detect device mismatch also when compiling without udev support.
- Do not strip LVM- when debug reporting not found uuid.
* Mon Apr 11 2016 Peter Rajnoha <prajnoha@redhat.com> - 2.02.150-1
- Avoid using flushing dm status ioctl when checking for usable DM device.
- Check for devices without LVM- uuid prefix only with kernels < 3.X.
- Reuse %%FREE size aproximation with lvcreate -l%%PVS thin-pool.
- Allow the lvmdump directory to exist already provided it is empty.
- Show lvconverted percentage with 2 decimal digits.
- Fix regression in suspend when repairing --type mirror (2.02.133).
- Change log_debug ioctl flags from single characters into words.
* Mon Apr 04 2016 Peter Rajnoha <prajnoha@redhat.com> - 2.02.149-2
- Do not flush thin-pool when checking metadata fullness.
- Remove spurious error about no value in /sys/dev/block/major:minor/dm/uuid.
- Fix device mismatch detection for LV if persistent .cache file is used.
- Fix holder device not being found in /dev while sysfs has it during dev scan.
* Tue Mar 29 2016 Peter Rajnoha <prajnoha@redhat.com> - 2.02.148-1
- Introduce TARGET_NAME and MODULE NAME macros.
- Replace hard-coded module and target names with macros.
- Add pv_major and pv_minor report fields.
- Detect and warn about mismatch between devices used and assumed for an LV.
- Adjust raid status function.
* Mon Mar 21 2016 Peter Rajnoha <prajnoha@redhat.com> - 2.02.147-5
- If available, use /proc/self/mountinfo to detect mounted volume in fsadm.
- Fix resize of stacked raid thin data volume (2.02.141).
- Fix test for lvremove failure in lvconvert --uncache (2.02.146).
* Fri Mar 11 2016 Peter Rajnoha <prajnoha@redhat.com> - 2.02.146-4
- More man page cleanups in lvconvert.
- Fix makefile vpath in /udev when generating udev rules files.
- Another attempt to improve VG name parsing for lvconvert (2.02.144).
- Use new cache status info and skip flushing for failed cache.
- Support --uncache with missing PVs.
- Improve parsing of cache status and report Fail, Error, needs_check, ro.
* Fri Mar 11 2016 Peter Rajnoha <prajnoha@redhat.com> - 2.02.146-3
- Tidy report field names, headings and widths.
- Add vgscan --notifydbus to send a dbus notification.
- Add dbus notification from commands after a PV/VG/LV changes state.
* Wed Mar 09 2016 Peter Rajnoha <prajnoha@redhat.com> - 2.02.145-2
- Require python3-gobject-base insetad of python3-gobject.
* Mon Mar 07 2016 Peter Rajnoha <prajnoha@redhat.com> - 2.02.145-1
- Make it possible to use lvremove and lvrename on historical LVs.
- For historical LVs, report 'none' for lv_layout and 'history' for lv_role.
- Add full_{ancestors,descendants} fields to report LV ancestry with history.
- Report (h)istorical state within 5th bit (State) of the lv_attr field.
- Add lv_historical reporting field to report if LV is historical or not.
- Add lv_time_removed reporting field to display removal time for hist. LVs.
- Report lv_name, lv_uuid, vg_name, lv_time for historical LVs.
- Add --nohistory switch to lvremove to disable history recording on demand.
- Add -H|--history switch to lvs and lvdisplay to include historical LVs.
- Create historical LVs out of removed thin snapshot LVs and record in history.
- Add metadata/lvs_history_retention_time for automatic removal of hist. LVs.
- Add metadata/record_lvs_history config for switching LV history recording.
- Add support and infrastructure for tracking historical LVs.
- Improve lvconvert man page.
- Add kernel_cache_policy lvs field.
- Display [unknown] instead of 'unknown device' in pvs output.
- Fix error path when pvcreate allocation fails (2.02.144).
- Display [unknown] instead of blank for unknown VG names in pvs output.
- Fix dm_config_write_node and variants to return error on subsection failures.
- Remove 4096 char limit due to buffer size if writing dm_config_node.
* Mon Feb 29 2016 Peter Rajnoha <prajnoha@redhat.com> - 2.02.144-1
- Only show (u)sed pv_attr char when PV is not (a)llocatable. (2.02.143)
- Update makefile to generate lcov output also for lvmpolld and lvmlockd.
- Fix SystemdService lvm2-lvmdbusd.service name.
- Improve support for env LVM_VG_NAME for reference VG name in lvconvert.
- Fix regression when lvresize accepted zero sizes. (2.02.141)
- Always warn user about PV in use even when pvremove uses --force --force.
- Use uninitialized pool header detection in all cases.
- Fix read error detection when checking for uninitialized thin-pool header.
- Fix error path for internal error in lvmetad VG lookup code.
- Fix string boundary check in _get_canonical_field_name().
- Always initialized hist struct in _stats_parse_histogram().
* Wed Feb 24 2016 Peter Rajnoha <prajnoha@redhat.com> - 2.02.143-4
- Reinstate lvm2-lockd on all architectures as sanlock package is fixed now.
* Tue Feb 23 2016 Peter Rajnoha <prajnoha@redhat.com> - 2.02.143-3
- Remove Requires: sanlock-lib for lvm2-lockd subpackage if sanlock not compiled.
* Tue Feb 23 2016 Peter Rajnoha <prajnoha@redhat.com> - 2.02.143-2
- Add Requires: python3-gobject dependency for lvm2-dbusd subpackage.
- Build lvm2-lockd with sanlock support only on x86_64, arch64 and power64 arch.
* Mon Feb 22 2016 Peter Rajnoha <prajnoha@redhat.com> - 2.02.143-1
- Introduce new lvm2-dbusd package providing LVM D-Bus daemon and service.
- Fix error path when sending thin-pool message fails in update_pool_lv().
- Support reporting CheckNeeded and Fail state for thin-pool and thin LV.
- For failing thin-pool and thin volume correctly report percentage as INVALID.
- Report -1, not 'unkown' for lv_{snapshot_invalid,merge_failed} with --binary.
- Add configure --enable-dbus-service for an LVM D-Bus service.
- Replace configure --enable-python_bindings with python2 and python3 versions.
- If PV belongs to some VG and metadata missing, skip it if system ID is used.
- Automatically change PV header extension to latest version if writing PV/VG.
- Identify used PVs in pv_attr field by new 'u' character.
- Add pv_in_use reporting field to report if PV is used or not.
- Add pv_ext_vsn reporting field to report PV header extension version.
- Add protective flag marking PVs as used even if no metadata available.
- Improve status parsing for thin-pool and thin devices.
* Mon Feb 15 2016 Peter Rajnoha <prajnoha@redhat.com> - 2.02.142-1
- Fix memory pool corruption in pvmove (2.02.141).
- Support control of spare metadata creation when repairing thin-pool.
- Fix config type of 'log/verbose' from bool to int (2.02.99).
- Fix inverted data LV thinp watermark calc for dmeventd response (2.02.133).
- Use use_blkid_wiping=0 if not defined in lvm.conf and support not compiled in.
- Do not check for suspended devices if scanning for lvmetad update.
- Clear cached bootloader areas when PV format changed.
- Fix partn table filter with external_device_info_source="udev" and blkid<2.20.
- Use fully aligned allocations for dm_pool_strdup/strndup() (1.02.64).
- Fix thin-pool table parameter feature order to match kernel output.
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 2.02.141-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Mon Jan 25 2016 Peter Rajnoha <prajnoha@redhat.com> - 2.02.141-1
- Add metadata/check_pv_device_sizes switch to lvm.conf for device size checks.
- Warn if device size is less than corresponding PV size in metadata.
- Cache device sizes internally.
- Restore support for command breaking in process_each_lv_in_vg() (2.02.118).
- Use correct mempool when process_each_lv_in_vg() (2.02.118).
- Fix lvm.8 man to show again prohibited suffixes.
- Fix configure to set proper use_blkid_wiping if autodetected as disabled.
- Initialise udev in clvmd for use in device scanning. (2.02.116)
- Add seg_le_ranges report field for common format when displaying seg devices.
- Honour report/list_item_separator for seg_metadata_le_ranges report field.
- Don't mark hidden devs in -o devices,metadata_devices,seg_pe_ranges.(2.02.140)
- Change LV sizes in seg_pe_ranges report field to match underlying devices.
- Add kernel_cache_settings report field for cache LV settings used in kernel.
- Fix man page for dmsetup udevcreatecookie.
* Mon Jan 18 2016 Peter Rajnoha <prajnoha@redhat.com> - 2.02.140-3
- Fix lvm2app to return either 0 or 1 for lvm_vg_is_{clustered,exported}.
- Add kernel_discards report field to display thin pool discard used in kernel.
- Correct checking of target presence when driver access is disabled.
- Eval poolmetadatasize arg earlier in lvresize.
- Fix vgcfgrestore to respect allocatable attribute of PVs.
- Add report/mark_hidden_devices to lvm.conf.
- Use brackets consistently in report fields to mark hidden devices.
- Restore background polling processing during auto-activation (2.02.119).
- Fix invalid memory read when reporting cache LV policy_name (2.02.126).
* Mon Jan 11 2016 Peter Rajnoha <prajnoha@redhat.com> - 2.02.139-2
- Update lvmlockd with the new VG seqno before devices are suspended.
- Rework vgrename to use the common processing code in toollib.
- Make pvs show new devices on the system since the last .cache update.
- Document F,D and M thin pool health status chars for lv_attr in lvs man page.
- Also add lvm2-activation{-early,-net}.service systemd status for lvmdump -s.
* Mon Jan 04 2016 Peter Rajnoha <prajnoha@redhat.com> - 2.02.138-1
- Support lvrename for hidden (used) cache pools.
- Fix lvrename for stacked cache pools
- Better support for dmsetup static linkage.
- Extend validity checks on dmeventd client socket.
* Mon Dec 07 2015 Peter Rajnoha <prajnoha@redhat.com> - 2.02.137-1
- Restore archiving before changing metadata in vgextend (2.02.117).
- Dropped internal usage of log_suppress(2).
- Cleaned logging code for buffer size usage.
- Added internal id_read_format_try() function to check and read valid UUID.
- Change lvcreate, lvrename, lvresize to use process_each_vg.
- Change process_each_vg to handle single VG as separate arg.
- Issue error if ambiguous VG name is supplied in most commands.
- Make process_each fns always work through full list of known VG names.
- Use dm_get_status_mirror() instead of individual parsers.
- Add mem pool arg for check_transient_status() target function.
- Avoid misleading error with -m is omitted with lvconvert to raid types.
- Add system_id to vginfo cache.
- Mirror plugin in dmeventd uses dm_get_status_mirror().
- Add dm_get_status_mirror() for parsing mirror status line.
* Wed Dec 02 2015 Peter Rajnoha <prajnoha@redhat.com> - 2.02.136-1
- Add new --sinceversion option for lvmconfig --type new.
- Fix inactive table loaded for wrapping thin-pool when resizing it.
- Extend the list of ignored libraries when locking memory.
- Show error message when trying to create unsupported raid type.
- Improve preloading sequence of an active thin-pool target.
- Drop extra space from cache target line to fix unneded table reloads.
* Mon Nov 23 2015 Peter Rajnoha <prajnoha@redhat.com> - 2.02.135-1
- Add a model file for Coverity.
- Show correct error message for unsupported yet cache pool repair.
- Allow lvconvert cache pools' data and metadata LV to raid.
- Fix reading of old metadata with missing cache policy or mode settings.
- Issue error if external_device_info_source=udev and udev db record incomplete.
- Update lvmetad duplicate VG name handling to use hash function extensions.
- Detect invalid vgrenames by vgid where the name is unchanged.
- Fix passing of 32bit values through daemons (mostly lvmlockd).
- Use local memory pool for whole alloc_handle manipulation.
- Add missing pointer validation after dm_get_next_target().
- Do not deref NULL pointer in debug message for _match_pv_tags().
- Drop unneeded stat() call when checking for sysfs file.
- Fix memory leak on error path of failing thin-pool percentage check.
- Add missing test for failing node allocation in lvmetad.
- Correct configure messages when enabling/disabling lvmlockd.
- Extend dm_hash to support multiple values with the same key.
- Add missing check for allocation inside dm_split_lvm_name().
- Test dm_task_get_message_response for !NULL in dm_stats_print_region().
- Add checks for failing dm_stats_create() in dmsetup.
- Add missing fifo close when failed to initialize client connection.
* Wed Nov 18 2015 Peter Rajnoha <prajnoha@redhat.com> - 2.02.134-4
- Refactor some lvmetad code and adjust some duplicate PV messages.
- No longer repair/wipe VG/PVs if inaccessible because foreign or shared.
- Pass correct data size to mirror log calc so log can be bigger than 1 extent.
* Tue Nov 10 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.02.133-3
- Rebuilt for https://fedoraproject.org/wiki/Changes/python3.5
* Mon Nov 02 2015 Peter Rajnoha <prajnoha@redhat.com> - 2.02.133-2
- Shutdown lvmetad automatically after one hour of inactivity.
* Fri Oct 30 2015 Peter Rajnoha <prajnoha@redhat.com> - 2.02.133-1
- Support repeated -o|--options for reporting commands.
- Support -o- and -o# for reporting commands to remove and compact fields.
- Fix missing PVs from pvs output if vgremove is run concurrently.
- Remove unwanted error message when running pvs/vgs/lvs and vgremove at once.
- Check newly created VG's metadata do not overlap in metadata ring buffer.
- Check metadata area size is at least the minimum size defined for the format.
- Thin pool targets uses low_water_mark from profile.
- Dropping 'yet' from error of unsupported thick snapshot of snapshots.
- Do not support unpartitioned DASD devices with CDL formatted with pvcreate.
- For thins use flush for suspend only when volume size is reduced.
- Enable code which detects the need of flush during suspend.
- Ensure --use-policy will resize volume to fit below threshold.
- Correct percentage evaluation when checking thin-pool over threshold.
- Fix lvmcache to move PV from VG to orphans if VG is removed and lvmetad used.
- Fix lvmcache to not cache even invalid info about PV which got removed.
- Support checking of memlock daemon counter.
- Allow all log levels to be used with the lvmetad -l option.
- Add optional shutdown when idle support for lvmetad.
- Fix missing in-sync progress info while lvconvert used with lvmpolld.
- Add report/compact_output_cols to lvm.conf to define report cols to compact.
- Do not change logging in lvm2 library when it's already set.
- Check for enough space in thin-pool in command before creating new thin.
- Make libblkid detect all copies of the same signature if use_blkid_wiping=1.
- Fix vgimportclone with -n to not add number unnecessarily to base VG name.
- Cleanup vgimportclone script and remove dependency on awk, grep, cut and tr.
- Add vg_missing_pv_count report field to report number of missing PVs in a VG.
- Properly identify internal LV holding sanlock locks within lv_role field.
- Add metadata_devices and seg_metadata_le_ranges report fields for raid vols.
- Fix lvm2-{activation,clvmd,cmirrord,monitor} service to exec before mounting.
- Disable thin monitoring plugin when it fails too often (>10 times).
- Fix/restore parsing of empty field '-' when processing dmeventd event.
- Enhance dm_tree_node_size_changed() to recognize size reduction.
- Support exit on idle for dmenventd (1 hour).
- Add support to allow unmonitor device from plugin itself.
- New design for thread co-operation in dmeventd.
- Dmeventd read device status with 'noflush'.
- Dmeventd closes control device when no device is monitored.
- Thin plugin for dmeventd improved percentage usage.
- Snapshot plugin for dmeventd improved percentage usage.
- Add dm_hold_control_dev to allow holding of control device open.
- Add dm_report_compact_given_fields to remove given empty fields from report.
- Use libdm status parsing and local mem raid dmeventd plugin.
- Use local mem pool and lock only lvm2 execution for mirror dmeventd plugin.
- Lock protect only lvm2 execution for snapshot and thin dmeventd plugin.
- Use local mempool for raid and mirror plugins.
- Reworked thread initialization for dmeventd plugins.
- Dmeventd handles snapshot overflow for now equally as invalid.
- Convert dmeventd to use common logging macro system from libdm.
- Return -ENOMEM when device registration fails instead of 0 (=success).
- Enforce writethrough mode for cleaner policy.
- Add support for recognition and deactivation of MD devices to blkdeactivate.
- Move target status functions out of libdm-deptree.
- Correct use of max_write_behind parameter when generating raid target line.
- Fix dm-event systemd service to make sure it is executed before mounting.
* Mon Oct 26 2015 Peter Rajnoha <prajnoha@redhat.com> - 2.02.132-2
- Remove %%{epoch} from cmirror requires.
* Wed Sep 23 2015 Peter Rajnoha <prajnoha@redhat.com> - 2.02.132-1
- Fix lvmconf to set locking_type=2 if external locking library is requested.
- Remove verbose message when rescanning an unchanged device. (2.02.119)
- Add origin_uuid, mirror_log_uuid, move_pv_uuid, convert_lv_uuid report fields.
- Add pool_lv_uuid, metadata_lv_uuid, data_lv_uuid reporting fields.
- Fix PV label processing failure after pvcreate in lvm shell with lvmetad.
- Update man pages for dmsetup and dmstats.
- Improve help text for dmsetup.
- Use --noflush and --nolockfs when removing device with --force.
- Parse new Overflow status string for snapshot target.
- Check dir path components are valid if using dm_create_dir, error out if not.
- Fix /dev/mapper handling to remove dangling entries if symlinks are found.
- Make it possible to use blank value as selection for string list report field.
* Wed Sep 16 2015 Peter Rajnoha <prajnoha@redhat.com> - 2.02.131-1
- Fix PV label processing failure after pvcreate in lvm shell with lvmetad.
- Rename 'make install_full_man' to install_all_man and add all_man target.
- Fix vgimportclone cache_dir path name (2.02.115).
- Swapping of LV identifiers handles more complex LVs.
- Use passed list of PVS when allocating space in lvconvert --thinpool.
- Disallow usage of --stripe and --stripesize when creating cache pool.
- Warn user when caching raid or thin pool data LV.
- When layering LV, move LV flags with segments.
- Ignore persistent cache if configuration changed. (2.02.127)
- Fix devices/filter to be applied before disk-accessing filters. (2.02.112)
- Make tags only when requested via 'make tags'.
- Configure supports --disable-dependency-tracking for one-time builds.
- Fix usage of configure.h when building in srcdir != builddir.
- Do not check for full thin pool when activating without messages (1.02.107).
* Mon Sep 07 2015 Peter Rajnoha <prajnoha@redhat.com> - 2.02.130-1
- Fix use of uninitialized device status if reading outdated .cache record.
- Restore support for --monitor option in lvcreate (2.02.112).
- Read thin-pool data and metadata percent without flush.
- Detect blocked thin-pool and avoid scanning their thin volumes.
- Check if dm device is usable before checking its size (2.02.116).
- Extend parsing of cache_check version in configure.
- Make lvpoll error messages visible in lvmpolld's stderr and in syslog.
- Add 'make install_full_man' to install all man pages regardless of config.
- Parse thin-pool status with one single routine internally.
- Add --histogram to select default histogram fields for list and report.
- Add report fields for displaying latency histogram configuration and data.
- Add dmstats --bounds to specify histogram boundaries for a new region.
- Add dm_histogram_to_string() to format histogram data in string form.
- Add public methods to libdm to access numerical histogram config and data.
- Parse and store histogram data in dm_stats_list() and dm_stats_populate().
- Add an argument to specify histogram bounds to dm_stats_create_region().
- Add dm_histogram_bounds_from_{string,uint64_t}() to parse histogram bounds.
- Add dm_histogram handle type to represent a latency histogram and its bounds.
* Wed Sep 02 2015 Peter Rajnoha <prajnoha@redhat.com> - 2.02.129-2
- Reinstate dm_task_get_info@Base to libdevmapper exports. (1.02.106)
* Thu Aug 27 2015 Peter Rajnoha <prajnoha@redhat.com> - 2.02.129-1
- Drop error message when vgdisplay encounters an exported VG. (2.02.27)
- Fix shared library generation to stop exporting internal functions.(2.02.120)
- Accept --cachemode with lvconvert.
- Fix and improve reporting properties of cache-pool.
- Enable usage of --cachepolicy and --cachesetting with lvconvert.
- Don't allow to reduce size of thin-pool metadata.
- Fix debug buffer overflows in cmirrord logging.
- Add --foreground and --help to cmirrord.
- Add 'precise' column to statistics reports.
- Add --precise switch to 'dmstats create' to request nanosecond counters.
- Add precise argument to dm_stats_create_region().
- Add support to libdm-stats for precise_timestamps
- Fix devmapper.pc pkgconfig file to declare -lrt dependency properly.
* Tue Aug 18 2015 Peter Rajnoha <prajnoha@redhat.com> - 2.02.128-1
- Allocation setting cache_pool_cachemode is replaced by cache_mode.
- Don't attempt to close config file that couldn't be opened.
- Check for valid cache mode in validation of cache segment.
- Change internal interface handling cache mode and policy.
- When no cache policy specified, prefer smq (if available) over mq.
- Add demo cache-mq and cache-smq profiles.
- Add cmd profilable allocation/cache_policy,cache_settings,cache_mode.
- Require cache_check 0.5.4 for use of --clear-needs-check-flag.
- Fix lvmetad udev rules to not override SYSTEMD_WANTS, add the service instead.
- Fix 'dmstats list -o all' segfault.
- Separate dmstats statistics fields from region information fields.
- Add interval and interval_ns fields to dmstats reports.
- Do not include internal glibc headers in libdm-timestamp.c (1.02.104)
- Exit immediately if no device is supplied to dmsetup wipe_table.
- Suppress dmsetup report headings when no data is output. (1.02.104)
- Adjust dmsetup usage/help output selection to match command invoked.
- Fix dmsetup -o all to select correct fields in splitname report.
- Restructure internal dmsetup argument handling across all commands.
- Add dm_report_is_empty() to indicate there is no data awaiting output.
- Add more arg validation for dm_tree_node_add_cache_target().
- Add --alldevices switch to replace use of --force for stats create / delete.
* Mon Aug 10 2015 Peter Rajnoha <prajnoha@redhat.com> - 2.02.127-1
- Do not init filters, locking, lvmetad, lvmpolld if command doesn't use it.
- Order fields in struct cmd_context more logically.
- Add lock_type to lvmcache VG summary and info structs.
- Fix regression in cache causing some PVs to bypass filters (2.02.105).
- Make configure --enable-realtime the default now.
- Add dmstats.8 man page
- Add dmstats --segments switch to create one region per device segment.
- Add dmstats --regionid, --allregions to specify a single / all stats regions.
- Add dmstats --allprograms for stats commands that filter by program ID.
- Add dmstats --auxdata and --programid args to specify aux data and program ID.
- Add report stats sub-command to provide repeating stats reports.
- Add clear, delete, list, and print stats sub-commands.
- Add create stats sub-command and --start, --length, --areas and --areasize.
- Recognize 'dmstats' as an alias for 'dmsetup stats' when run with this name.
- Add a 'stats' command to dmsetup to configure, manage and report stats data.
- Add statistics fields to dmsetup -o.
- Add libdm-stats library to allow management of device-mapper statistics.
- Add --nosuffix to suppress dmsetup unit suffixes in report output.
- Add --units to control dmsetup report field output units.
- Add support to redisplay column headings for repeating column reports.
- Fix report header and row resource leaks.
- Report timestamps of ioctls with dmsetup -vvv.
- Recognize report field name variants without any underscores too.
- Add dmsetup --interval and --count to repeat reports at specified intervals.
- Add dm_timestamp functions to libdevmapper.
- Recognise vg/lv name format in dmsetup.
- Move size display code to libdevmapper as dm_size_to_string.
* Mon Jul 27 2015 Peter Rajnoha <prajnoha@redhat.com> - 2.02.126-2
- Fix long option hyphen removal. (2.02.122)
- Fix clvmd freeze if client disappears without first releasing its locks.
- Fix lvconvert segfaults while performing snapshots merge.
- Ignore errors during detection if use_blkid_wiping=1 and --force is used.
- Recognise DM_ABORT_ON_INTERNAL_ERRORS env var override in lvm logging fn.
- Fix alloc segfault when extending LV with fewer stripes than in first seg.
- Fix handling of cache policy name.
- Set cache policy before with the first lvm2 cache pool metadata commit.
- Fix detection of thin-pool overprovisioning (2.02.124).
- Fix lvmpolld segfaults on 32 bit architectures.
- Add lvmlockd lock_args validation to vg_validate.
- Fix ignored --startstopservices option if running lvmconf with systemd.
- Hide sanlock LVs when processing LVs in VG unless named or --all used.
- Introduce libdevmapper wrappers for all malloc-related functions.
* Tue Jul 14 2015 Peter Rajnoha <prajnoha@redhat.com> - 2.02.125-2
- Add Requires: system-release>=23 for lvmpolld to be enabled by default
instead of original Requires: fedora-release which may break installations
in environments where fedora-release is not available.
* Tue Jul 07 2015 Peter Rajnoha <prajnoha@redhat.com> - 2.02.125-1
- Fix getline memory usage in lvmpolld.
- Add support --clear-needs-check-flag for cache_check of cache pool metadata.
- Add lvmetactl for developer use only.
- Rename global/lock_retries to lvmlockd_retries.
- Replace --enable-lvmlockd by --enable-lockd-sanlock and --enable-lockd-dlm.
- Include tool.h for default non-library use.
- Introduce format macros with embedded % such as FMTu64.
* Fri Jul 03 2015 Peter Rajnoha <prajnoha@redhat.com> - 2.02.124-1
- Move sending thin pool messages from resume to suspend phase.
- Report warning when pool is overprovisioned and not auto resized.
- Recognize free-form date/time values for lv_time field in selection criteria.
- Added experimental lvmlockd with configure --enable-lvmlockd.
- Fix regression in select to match string fields if using synonyms (2.02.123).
- Fix regression when printing more lv names via display_lvname (2.02.122).
- Add missing error logging to unlock_vg and sync_local_dev_names callers.
- Add experimental support to passing messages in suspend tree.
- Add dm_report_value_cache_{set,get} to support caching during report/select.
- Add dm_report_reserved_handler to handle report reserved value actions.
- Support dynamic value in select: DM_REPORT_FIELD_RESERVED_VALUE_DYNAMIC_VALUE.
- Support fuzzy names in select: DM_REPORT_FIELD_RESERVED_VALUE_FUZZY_NAMES.
- Thin pool trace messages show a device name and major:minor.
- Add new lvm2-lockd subpackage with lvmlockd daemon.
* Wed Jul 01 2015 Peter Rajnoha <prajnoha@redhat.com> - 2.02.123-1
- Add report/time_format lvm.conf option to define time format for report.
- Fix makefile shell compare == when building lvmetad lvmpolld (2.02.120).
- Add --type full to lvmconfig for full configuration tree view.
- Add undocumented environment variables to lvm man page. (2.02.119)
- Add device synchronization point before activating a new snapshot.
- Add --withspaces to lvmconfig to add spaces in output for better readability.
- Add custom main function to libdaemon.
- Use lvmetad to track out-of-date metadata discovered.
- Fix makefile shell compare == when building lvmetad lvmpolld (2.02.120).
- Add --type full to lvmconfig for full configuration tree view.
- Add undocumented environment variables to lvm man page. (2.02.119)
- Add device synchronization point before activating a new snapshot.
- Add --withspaces to lvmconfig to add spaces in output for better readability.
- Add custom main function to libdaemon.
- Use lvmetad to track out-of-date metadata discovered.
- Add since, after, until and before time operators to be used in selection.
- Add support for time in reports and selection: DM_REPORT_FIELD_TYPE_TIME.
- Support report reserved value ranges: DM_REPORT_FIELD_RESERVED_VALUE_RANGE.
- Support report reserved value names: DM_REPORT_FIELD_RESERVED_VALUE_NAMED.
- Add DM_CONFIG_VALUE_FMT_{INT_OCTAL,STRING_NO_QUOTES} config value format flag.
- Add DM_CONFIG_VALUE_FMT_COMMON_{ARRAY,EXTRA_SPACE} config value format flag.
- Add dm_config_value_{get,set}_format_flags to get and set config value format.
* Mon Jun 22 2015 Peter Rajnoha <prajnoha@redhat.com> - 2.02.122-1
- Flush stdout before printing to stderr.
- Use pre-allocated buffer for printed LV names in display_lvname.
- Support thins with size of external origin unaligned with thin pool chunk.
- Allow extension of reduced thin volumes with external origins.
- Consider snapshot and origin LV as unusable if component devices suspended.
- Fix lvmconfig segfault on settings with undefined default value (2.02.120).
- Add explicit 's' (shared) LV activation mode.
- Ignore hyphens in long options names (i.e. --long-option == --longoption).
- Distinguish between on-disk and lvmetad versions of text metadata.
- Remove DL_LIBS from Makefiles for daemons that don't need them.
- Zero errno in before strtoul call in dmsetup if tested after the call.
- Zero errno in before strtoul call in lvmpolld.
- Fix a segfault in pvscan --cache --background command.
- Fix test for AREA_PV when checking for failed mirrors.
- Do not use --sysinit in lvm2-activation{-early,-net}.service if lvmpolld used.
- Maintain outdated PV info in lvmetad till all old metadata is gone from disk.
- Do not fail polling when poll LV not found (already finished or removed).
- Replace poll_get_copy_vg/lv fns with vg_read() and find_lv() in polldaemon.
- Close all device fds only in before sleep call in polldaemon.
- Simplify Makefile targets that generate exported symbols.
- Move various -D settings from Makefiles to configure.h.
- New dm_tree_node_set_thin_pool_read_only(DM_1_02_99) for read-only thin pool.
- Enhance error message when thin-pool message fails.
- Fix dmeventd logging to avoid threaded use of static variable.
- Remove redundant dmeventd SIGALRM coded.
- Add dm_task_get_errno() to return any unexpected errno from a dm ioctl call.
- Use copy of errno made after each dm ioctl call in case errno changes later.
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.02.120-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
* Thu May 21 2015 Peter Rajnoha <prajnoha@redhat.com> - 2.02.120-1
- Enable and use lvmpolld - the LVM polling daemon by default.
- Add Requires: fedora-release>=23-0.13 for lvmpolld to be enabled by default.
- Make various adjustments to Makefile compilation flags.
- Add lvmpolld debug message class.
- Add lvmpolld client mode for querying running server instance for status info.
- Fix some libdaemon socket creation and reuse error paths.
- Daemons (libdaemon) support exit on idle also in non-systemd environment.
- Provide make dist and make rpm targets
- Configure lvm.conf for use_lvmetad and use_lvmpolld.
- Add lvpoll for cmdline communication with lvmpolld.
- Add lvmpolld acting as a free-standing version of polldaemon.
- Avoid repeated identical lvmetad VG lookups in commands processing all VGs.
- Handle switches to alternative duplicate PVs efficiently with lvmetad.
- Properly validate PV size for pvcreate --restorefile.
- Fix check if pvcreate wiped device (2.02.117).
- Fix storing of vgid when caching metadata (2.02.118).
- Fix recursive lvm-config man page. (2.02.119)
- Refactor polldaemon interfaces to poll every operation by VG/LV couple
- Skip wait after testing in _wait_for_single_lv when polling finished
- Return 'None' in python for empty string properties instead of crashing.
- Distinguish signed numerical property type in reports for lvm2app library.
- Reread raid completion status immediately when progress appears to be zero.
- lvm2app closes locking on lvm_quit().
- Configure detects /run or /var/run.
- Add missing newline in clvmd --help output.
- New dm_task_get_info(DM_1_02_97) supports internal_suspend state.
- New symbols are versioned and comes with versioned symbol name (DM_1_02_97).
* Mon May 04 2015 Peter Rajnoha <prajnoha@redhat.com> - 2.02.119-1
- New lvm2-python3-libs subpackage to provide Python 3 bindings for LVM2.
- New LVM_LOG_FILE_EPOCH, LVM_EXPECTED_EXIT_STATUS env vars. Man page to follow.
- Remove detailed content from lvm.conf man page: use lvmconfig instead.
- Generate complete config files with lvmconfig or 'make generate'.
- Also display info on deprecated config with lvmconfig --withcomments.
- Display version since which config is deprecated in lvmconfig --withversions.
- Add --showdeprecated to lvmconfig to also display deprecated settings.
- Hide deprecated settings in lvmconfig output for all types but current,diff.
- Introduce support for exit on idle feature in libdaemon
- Add --showunsupported to lvmconfig to also display unsupported settings.
- Display unsupported settings for lvmconfig --type current,diff only by default
- Honour lvmconfig --ignoreunsupported and --ignoreadvanced for all --type.
- Make python bindings usable with python3 (and compatible with 2.6 & 2.7).
- Add lvmconfig -l|--list as shortcut for lvmconfig --type list --withsummary.
- Add lvmconfig --type list to display plain list of configuration settings.
- Introduce lvmconfig as the preferred form of 'lvm dumpconfig'.
- Add lv_ancestors and lv_descendants reporting fields.
- Add --ignorelocal option to dumpconfig to ignore the local section.
- Close connection to lvmetad after fork.
- Make lvchange able to resume background pvmove polling again.
- Split pvmove update metadata fn in an initial one and a subsequent one.
- Refactor shared pvmove and lvconvert code into new _poll files.
- Add --unconfigured option to dumpconfig to print strings unconfigured.
- Add --withsummary option to dumpconfig to print first line - summary comment.
- Use number of device holders to help choose between duplicate PVs.
- Try to make lvmetad and non-lvmetad duplicate PV handling as similar as poss.
- Issue warnings about duplicate PVs discovered by lvmetad.
- Track alternative devices with matching PVIDs in lvmetad.
- Check for lvm binary in blkdeactivate and skip LVM processing if not present.
- Add --enable-halvm and --disable-halvm options to lvmconf script.
- Add --services, --mirrorservice and --startstopservices option to lvmconf.
- Use proper default