diff --git a/.gitignore b/.gitignore index 4b88233..dd0bcd9 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -SOURCES/LVM2.2.03.05.tgz +SOURCES/LVM2.2.03.07.tgz diff --git a/.lvm2.metadata b/.lvm2.metadata index a20d07d..34ff4c7 100644 --- a/.lvm2.metadata +++ b/.lvm2.metadata @@ -1 +1 @@ -edfa340a4bbdb3e995521bebbe5307fd7687ac3b SOURCES/LVM2.2.03.05.tgz +a518f89776180548cd0b10ce5e272ae9274e2935 SOURCES/LVM2.2.03.07.tgz diff --git a/SOURCES/lvm2-rhel8.patch b/SOURCES/lvm2-rhel8.patch index 0c12ddd..8b6e101 100644 --- a/SOURCES/lvm2-rhel8.patch +++ b/SOURCES/lvm2-rhel8.patch @@ -3,16 +3,17 @@ 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/VERSION b/VERSION -index ab284be..4661287 100644 +index 717c4cf..b7fddf4 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ --2.03.05(2) (2019-06-15) -+2.03.05(2)-RHEL8 (2019-06-15) +-2.03.07(2) (2019-11-30) ++2.03.07(2)-RHEL8 (2019-11-30) diff --git a/VERSION_DM b/VERSION_DM -index bd19b7d..32999a6 100644 +index a230ed0..fc0ec81 100644 --- a/VERSION_DM +++ b/VERSION_DM @@ -1 +1 @@ --1.02.163 (2019-06-15) -+1.02.163-RHEL8 (2019-06-15) +-1.02.167 (2019-11-30) ++1.02.167-RHEL8 (2019-11-30) + diff --git a/SOURCES/lvm2-set-default-preferred_names.patch b/SOURCES/lvm2-set-default-preferred_names.patch index 95259f4..853cf51 100644 --- a/SOURCES/lvm2-set-default-preferred_names.patch +++ b/SOURCES/lvm2-set-default-preferred_names.patch @@ -1,19 +1,13 @@ - conf/example.conf.in | 7 ++++--- + conf/example.conf.in | 3 ++- lib/config/config_settings.h | 2 +- - 2 files changed, 5 insertions(+), 4 deletions(-) + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/conf/example.conf.in b/conf/example.conf.in -index a5eba01..8fa126b 100644 +index 05b0857..88858fc 100644 --- a/conf/example.conf.in +++ b/conf/example.conf.in -@@ -118,11 +118,12 @@ devices { - # Prefer the name with the least number of slashes. - # Prefer a name that is a symlink. - # Prefer the path with least value in lexicographical order. -- # -- # Example -+ # -+ # Example: +@@ -122,7 +122,8 @@ devices { + # Example # preferred_names = [ "^/dev/mpath/", "^/dev/mapper/mpath", "^/dev/[hs]d" ] # - # This configuration option does not have a default value defined. @@ -23,7 +17,7 @@ index a5eba01..8fa126b 100644 # Configuration option devices/filter. # Limit the block devices that are used by LVM commands. diff --git a/lib/config/config_settings.h b/lib/config/config_settings.h -index efa86e7..b3b6c77 100644 +index 2bb72ba..dce9705 100644 --- a/lib/config/config_settings.h +++ b/lib/config/config_settings.h @@ -269,7 +269,7 @@ cfg(devices_hints_CFG, "hints", devices_CFG_SECTION, CFG_DEFAULT_COMMENTED, CFG_ @@ -31,7 +25,7 @@ index efa86e7..b3b6c77 100644 "#\n") -cfg_array(devices_preferred_names_CFG, "preferred_names", devices_CFG_SECTION, CFG_ALLOW_EMPTY | CFG_DEFAULT_UNDEFINED , CFG_TYPE_STRING, NULL, vsn(1, 2, 19), NULL, 0, NULL, -+cfg_array(devices_preferred_names_CFG, "preferred_names", devices_CFG_SECTION, CFG_ALLOW_EMPTY, CFG_TYPE_STRING, "#S^/dev/mpath/#S^/dev/mapper/mpath#S^/dev/[hs]d", vsn(1, 2, 19), NULL, 0, NULL, ++cfg_array(devices_preferred_names_CFG, "preferred_names", devices_CFG_SECTION, CFG_ALLOW_EMPTY | CFG_DEFAULT_COMMENTED, CFG_TYPE_STRING, "#S^/dev/mpath/#S^/dev/mapper/mpath#S^/dev/[hs]d", vsn(1, 2, 19), NULL, 0, NULL, "Select which path name to display for a block device.\n" "If multiple path names exist for a block device, and LVM needs to\n" "display a name for the device, the path names are matched against\n" diff --git a/SOURCES/lvm2-test-skip-problematic-tests.patch b/SOURCES/lvm2-test-skip-problematic-tests.patch index e512647..4f55e7c 100644 --- a/SOURCES/lvm2-test-skip-problematic-tests.patch +++ b/SOURCES/lvm2-test-skip-problematic-tests.patch @@ -15,23 +15,24 @@ index 9bc1683..1b5608c 100755 pv = self.objs[PV_INT][0] diff --git a/test/shell/lvcreate-usage.sh b/test/shell/lvcreate-usage.sh -index 6d42401..120ab4b 100644 +index b1cd515..8358218 100644 --- a/test/shell/lvcreate-usage.sh +++ b/test/shell/lvcreate-usage.sh -@@ -177,13 +177,13 @@ check lv_field $vg/$lv3 lv_read_ahead "8.00k" - check lv_field $vg/$lv3 lv_kernel_read_ahead "8.00k" - lvcreate -L 8 -n $lv4 --readahead auto $vg - check lv_field $vg/$lv4 lv_read_ahead "auto" --check lv_field $vg/$lv4 lv_kernel_read_ahead "128.00k" -+should check lv_field $vg/$lv4 lv_kernel_read_ahead "128.00k" +@@ -182,14 +182,14 @@ DEVICE=$(dmsetup deps -o blkdevname "$dev1" | sed -e "s,.*:\ (\(.*\)),/dev/\1,") + RASZ=$(( $(blockdev --getra "$DEVICE" ) / 2 )) + SZ="$RASZ.00k" + test "$RASZ" -ge 128 || SZ="128.00k" +-check lv_field $vg/$lv4 lv_kernel_read_ahead "$SZ" --units k ++should check lv_field $vg/$lv4 lv_kernel_read_ahead "$SZ" --units k lvcreate -L 8 -n $lv5 -i2 --stripesize 16k --readahead auto $vg check lv_field $vg/$lv5 lv_read_ahead "auto" --check lv_field $vg/$lv5 lv_kernel_read_ahead "128.00k" -+should check lv_field $vg/$lv5 lv_kernel_read_ahead "128.00k" +-check lv_field $vg/$lv5 lv_kernel_read_ahead "$SZ" --units k ++should check lv_field $vg/$lv5 lv_kernel_read_ahead "$SZ" --units k lvcreate -L 8 -n $lv6 -i2 --stripesize 128k --readahead auto $vg check lv_field $vg/$lv6 lv_read_ahead "auto" --check lv_field $vg/$lv6 lv_kernel_read_ahead "512.00k" -+should check lv_field $vg/$lv6 lv_kernel_read_ahead "512.00k" + test "$RASZ" -ge 512 || SZ="512.00k" +-check lv_field $vg/$lv6 lv_kernel_read_ahead "$SZ" --units k ++should check lv_field $vg/$lv6 lv_kernel_read_ahead "$SZ" --units k lvremove -ff $vg # diff --git a/SPECS/lvm2.spec b/SPECS/lvm2.spec index 79e7c4e..c0839d8 100644 --- a/SPECS/lvm2.spec +++ b/SPECS/lvm2.spec @@ -1,4 +1,4 @@ -%global device_mapper_version 1.02.163 +%global device_mapper_version 1.02.167 %global enable_cache 1 %global enable_cluster 1 @@ -8,8 +8,9 @@ %global enable_lvmpolld 1 %global enable_thin 1 %global enable_dmfilemapd 1 -%global enable_testsuite 0 +%global enable_testsuite 1 %global enable_vdo 1 +%global enable_writecache 1 %global system_release_version 23 %global systemd_version 189-3 @@ -55,10 +56,9 @@ Name: lvm2 %if 0%{?rhel} Epoch: %{rhel} %endif -Version: 2.03.05 +Version: 2.03.07 Release: 1%{?dist} License: GPLv2 -Group: System Environment/Base URL: http://sourceware.org/lvm2 Source0: ftp://sourceware.org/pub/lvm2/releases/LVM2.%{version}.tgz Patch0: lvm2-rhel8.patch @@ -119,9 +119,9 @@ or more physical volumes and creating one or more logical volumes %prep %setup -q -n LVM2.%{version} -%patch0 -p1 -b .rhel8 -%patch1 -p1 -b .preferred_names -%patch2 -p1 -b .skip_problematic_tests +%patch0 -p1 -b .backup0 +%patch1 -p1 -b .backup1 +%patch2 -p1 -b .backup2 %build %global _default_pid_dir /run @@ -164,7 +164,11 @@ or more physical volumes and creating one or more logical volumes %global configure_vdo --with-vdo=internal --with-vdo-format=%{_bindir}/vdoformat %endif -%configure --with-default-dm-run-dir=%{_default_dm_run_dir} --with-default-run-dir=%{_default_run_dir} --with-default-pid-dir=%{_default_pid_dir} --with-default-locking-dir=%{_default_locking_dir} --with-usrlibdir=%{_libdir} --enable-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} %{?configure_udev} %{?configure_thin} %{?configure_cache} %{?configure_lvmpolld} %{?configure_lockd_dlm} %{?configure_lockd_sanlock} %{?configure_lvmdbusd} %{?configure_dmfilemapd} %{?configure_vdo} --disable-silent-rules +%if %{enable_writecache} +%global configure_writecache --with-writecache=internal +%endif + +%configure --with-default-dm-run-dir=%{_default_dm_run_dir} --with-default-run-dir=%{_default_run_dir} --with-default-pid-dir=%{_default_pid_dir} --with-default-locking-dir=%{_default_locking_dir} --with-usrlibdir=%{_libdir} --enable-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} %{?configure_udev} %{?configure_thin} %{?configure_cache} %{?configure_lvmpolld} %{?configure_lockd_dlm} %{?configure_lockd_sanlock} %{?configure_lvmdbusd} %{?configure_dmfilemapd} %{?configure_writecache} %{?configure_vdo} --disable-silent-rules make %{?_smp_mflags} @@ -179,7 +183,6 @@ make -C test install DESTDIR=$RPM_BUILD_ROOT %endif %post -/sbin/ldconfig %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 @@ -375,7 +378,6 @@ systemctl start lvm2-lvmpolld.socket >/dev/null 2>&1 || : ############################################################################## %package devel Summary: Development libraries and headers -Group: Development/Libraries License: LGPLv2 Requires: %{name} = %{?epoch}:%{version}-%{release} Requires: device-mapper-devel = %{?epoch}:%{device_mapper_version}-%{release} @@ -395,15 +397,12 @@ the lvm2 libraries. %package libs Summary: Shared libraries for lvm2 License: LGPLv2 -Group: System Environment/Libraries Requires: device-mapper-event = %{?epoch}:%{device_mapper_version}-%{release} %description libs This package contains shared lvm2 libraries for applications. -%post libs -p /sbin/ldconfig - -%postun libs -p /sbin/ldconfig +%ldconfig_scriptlets libs %files libs %{!?_licensedir:%global license %%doc} @@ -433,7 +432,6 @@ This package contains shared lvm2 libraries for applications. %if %{enable_lockd_dlm} || %{enable_lockd_sanlock} %package lockd Summary: LVM locking daemon -Group: System Environment/Base Requires: lvm2 = %{?epoch}:%{version}-%{release} %if %{enable_lockd_sanlock} Requires: sanlock-lib >= %{sanlock_version} @@ -450,13 +448,13 @@ Requires(postun): systemd-units >= %{systemd_version} LVM commands use lvmlockd to coordinate access to shared storage. %post lockd -%systemd_post lvm2-lvmlockd.service +%systemd_post lvmlockd.service %preun lockd -%systemd_preun lvm2-lvmlockd.service +%systemd_preun lvmlockd.service %postun lockd -%systemd_postun lvm2-lvmlockd.service +%systemd_postun lvmlockd.service %files lockd %defattr(444,root,root,-) @@ -478,7 +476,6 @@ LVM commands use lvmlockd to coordinate access to shared storage. %package -n cmirror Summary: Daemon for device-mapper-based clustered mirrors -Group: System Environment/Base Requires: corosync >= %{corosync_version} Requires: device-mapper = %{?epoch}:%{device_mapper_version}-%{release} Requires: resource-agents >= %{resource_agents_version} @@ -497,7 +494,6 @@ Daemon providing device-mapper-based mirrors in a shared-storage cluster. %package -n cmirror-standalone Summary: Additional files to support device-mapper-based clustered mirrors in standalone mode License: GPLv2 -Group: System Environment/Base Requires: cmirror >= %{?epoch}:%{version}-%{release} %description -n cmirror-standalone @@ -530,7 +526,6 @@ involvement (e.g. pacemaker). %package dbusd Summary: LVM2 D-Bus daemon License: GPLv2 -Group: System Environment/Base BuildArch: noarch Requires: lvm2 >= %{?epoch}:%{version}-%{release} Requires: dbus @@ -573,7 +568,6 @@ Daemon for access to LVM2 functionality through a D-Bus interface. Summary: Device mapper utility Version: %{device_mapper_version} License: GPLv2 -Group: System Environment/Base URL: http://sources.redhat.com/dm Requires: device-mapper-libs = %{?epoch}:%{device_mapper_version}-%{release} Requires: util-linux >= %{util_linux_version} @@ -610,7 +604,6 @@ for the kernel device-mapper. Summary: Development libraries and headers for device-mapper Version: %{device_mapper_version} License: LGPLv2 -Group: Development/Libraries Requires: device-mapper = %{?epoch}:%{device_mapper_version}-%{release} Requires: pkgconfig @@ -628,15 +621,12 @@ the device-mapper libraries. Summary: Device-mapper shared library Version: %{device_mapper_version} License: LGPLv2 -Group: System Environment/Libraries Requires: device-mapper = %{?epoch}:%{device_mapper_version}-%{release} %description -n device-mapper-libs This package contains the device-mapper shared library, libdevmapper. -%post -n device-mapper-libs -p /sbin/ldconfig - -%postun -n device-mapper-libs -p /sbin/ldconfig +%ldconfig_scriptlets -n device-mapper-libs %files -n device-mapper-libs %{!?_licensedir:%global license %%doc} @@ -646,7 +636,6 @@ This package contains the device-mapper shared library, libdevmapper. %package -n device-mapper-event Summary: Device-mapper event daemon -Group: System Environment/Base Version: %{device_mapper_version} Requires: device-mapper = %{?epoch}:%{device_mapper_version}-%{release} Requires: device-mapper-event-libs = %{?epoch}:%{device_mapper_version}-%{release} @@ -683,15 +672,12 @@ fi Summary: Device-mapper event daemon shared library Version: %{device_mapper_version} License: LGPLv2 -Group: System Environment/Libraries %description -n device-mapper-event-libs This package contains the device-mapper event daemon shared library, libdevmapper-event. -%post -n device-mapper-event-libs -p /sbin/ldconfig - -%postun -n device-mapper-event-libs -p /sbin/ldconfig +%ldconfig_scriptlets -n device-mapper-event-libs %files -n device-mapper-event-libs %{!?_licensedir:%global license %%doc} @@ -703,7 +689,6 @@ libdevmapper-event. Summary: Development libraries and headers for the device-mapper event daemon Version: %{device_mapper_version} License: LGPLv2 -Group: Development/Libraries Requires: device-mapper-event = %{?epoch}:%{device_mapper_version}-%{release} Requires: pkgconfig @@ -737,6 +722,35 @@ An extensive functional testsuite for LVM2. %endif %changelog +* Sat Nov 30 2019 Marian Csontos - 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 - 2.03.05-5 +- Fix lvmlockd is not started with sanlock running. + +* Sun Aug 18 2019 Marian Csontos - 2.03.05-4 +- Update tests. + +* Sun Aug 18 2019 Marian Csontos - 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 - 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 - 2.03.05-1 - Update to upstream release 2.03.05.