Blame SPECS/kmod-kvdo.spec

82bd15
%global commit                  ec3f900fe5a601c3ff7bfe30e98da90ec9d16fc8
82bd15
%global gittag                  6.2.1.102
82bd15
%global shortcommit             %(c=%{commit}; echo ${c:0:7})
82bd15
%define spec_release            53
82bd15
82bd15
%define kmod_name		kvdo
82bd15
%define kmod_driver_version	%{gittag}
82bd15
%define kmod_rpm_release	%{spec_release}
82bd15
%define kmod_kernel_version	4.18.0-106.el8
82bd15
%define kmod_headers_version	%(rpm -qa kernel-devel | sed 's/^kernel-devel-//')
82bd15
%define kmod_kbuild_dir		.
82bd15
%define kmod_dependencies       %{nil}
82bd15
%define kmod_build_dependencies	%{nil}
82bd15
%define kmod_devel_package	0
82bd15
82bd15
Source0:	https://github.com/dm-vdo/%{kmod_name}/archive/%{commit}/%{kmod_name}-%{shortcommit}.tar.gz
82bd15
82bd15
%define findpat %( echo "%""P" )
82bd15
82bd15
Name:		kmod-kvdo
82bd15
Version:	%{kmod_driver_version}
82bd15
Release:	%{kmod_rpm_release}%{?dist}
82bd15
Summary:	Kernel Modules for Virtual Data Optimizer
82bd15
License:	GPLv2+
82bd15
URL:		http://github.com/dm-vdo/kvdo
82bd15
BuildRoot:	%(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
82bd15
BuildRequires:  elfutils-libelf-devel
82bd15
BuildRequires:	glibc
82bd15
BuildRequires:	kernel-devel >= %{kmod_kernel_version}
82bd15
82bd15
# Disable the kernel-debug requirement for now
82bd15
%if 0
82bd15
# kernel-debug appears to not be necessary at the moment. 
82bd15
BuildRequires:  kernel-debug >= %{kmod_kernel_version}
82bd15
%endif
82bd15
82bd15
BuildRequires:  libuuid-devel
82bd15
BuildRequires:  redhat-rpm-config
82bd15
ExcludeArch:    i686
82bd15
ExcludeArch:    ppc
82bd15
ExcludeArch:    ppc64
82bd15
ExcludeArch:    s390
82bd15
82bd15
%global kernel_source() /usr/src/kernels/%{kmod_headers_version}
82bd15
82bd15
%global _use_internal_dependency_generator 0
82bd15
Provides:	kernel-modules = %{kmod_kernel_version}.%{_target_cpu}
82bd15
Provides:	kmod-%{kmod_name} = %{?epoch:%{epoch}:}%{version}-%{release}
82bd15
Requires(post):	%{_sbindir}/weak-modules
82bd15
Requires(postun):	%{_sbindir}/weak-modules
82bd15
Requires:	kernel >= %{kmod_kernel_version}
82bd15
82bd15
%if "%{kmod_build_dependencies}" != ""
82bd15
BuildRequires:  %{kmod_build_dependencies}
82bd15
%endif
82bd15
%if "%{kmod_dependencies}" != ""
82bd15
Requires:       %{kmod_dependencies}
82bd15
%endif
82bd15
82bd15
%description
82bd15
Virtual Data Optimizer (VDO) is a device mapper target that delivers
82bd15
block-level deduplication, compression, and thin provisioning.
82bd15
82bd15
This package provides the kernel modules for VDO.
82bd15
82bd15
%pre
82bd15
# During the install, check whether kvdo or uds is loaded.  A warning here
82bd15
# indicates that a previous install was not completely removed.  This message
82bd15
# is purely informational to the user.
82bd15
for module in kvdo uds; do
82bd15
  if grep -q "^${module}" /proc/modules; then
82bd15
    if [ "${module}" == "kvdo" ]; then
82bd15
      echo "WARNING: Found ${module} module previously loaded (Version: $(cat /sys/kvdo/version 2>/dev/null || echo Unknown)).  A reboot is recommended before attempting to use the newly installed module."
82bd15
    else
82bd15
      echo "WARNING: Found ${module} module previously loaded.  A reboot is recommended before attempting to use the newly installed module."
82bd15
    fi
82bd15
  fi
82bd15
done
82bd15
82bd15
%post
82bd15
modules=( $(find /lib/modules/%{kmod_headers_version}/extra/kmod-%{kmod_name} | grep '\.ko$') )
82bd15
printf '%s\n' "${modules[@]}" >> /var/lib/rpm-kmod-posttrans-weak-modules-add
82bd15
82bd15
%pretrans -p <lua>
82bd15
posix.unlink("/var/lib/rpm-kmod-posttrans-weak-modules-add")
82bd15
82bd15
%posttrans
82bd15
if [ -f "/var/lib/rpm-kmod-posttrans-weak-modules-add" ]; then
82bd15
	modules=( $(cat /var/lib/rpm-kmod-posttrans-weak-modules-add) )
82bd15
	rm -rf /var/lib/rpm-kmod-posttrans-weak-modules-add
82bd15
	printf '%s\n' "${modules[@]}" | %{_sbindir}/weak-modules --dracut=/usr/bin/dracut --add-modules
82bd15
fi
82bd15
82bd15
%preun
82bd15
rpm -ql kmod-kvdo-%{kmod_driver_version}-%{kmod_rpm_release}%{?dist}.$(arch) | grep '\.ko$' > /var/run/rpm-kmod-%{kmod_name}-modules
82bd15
# Check whether kvdo or uds is loaded, and if so attempt to remove it.  A
82bd15
# failure to unload means there is still something using the module.  To make
82bd15
# sure the user is aware, we print a warning with recommended instructions.
82bd15
for module in kvdo uds; do
82bd15
  if grep -q "^${module}" /proc/modules; then
82bd15
    warnMessage="WARNING: ${module} in use.  Changes will take effect after a reboot."
82bd15
    modprobe -r ${module} 2>/dev/null || echo ${warnMessage} && /usr/bin/true
82bd15
  fi
82bd15
done
82bd15
82bd15
%postun
82bd15
modules=( $(cat /var/run/rpm-kmod-%{kmod_name}-modules) )
82bd15
rm /var/run/rpm-kmod-%{kmod_name}-modules
82bd15
printf '%s\n' "${modules[@]}" | %{_sbindir}/weak-modules --dracut=/usr/bin/dracut --remove-modules
82bd15
82bd15
%files
82bd15
%defattr(644,root,root,755)
82bd15
/lib/modules/%{kmod_headers_version}
82bd15
/etc/depmod.d/%{kmod_name}.conf
82bd15
/usr/share/doc/kmod-%{kmod_name}/greylist.txt
82bd15
82bd15
%prep
82bd15
%setup -n %{kmod_name}-%{commit}
82bd15
%{nil}
82bd15
set -- *
82bd15
mkdir source
82bd15
mv "$@" source/
82bd15
mkdir obj
82bd15
82bd15
%build
82bd15
rm -rf obj
82bd15
cp -r source obj
82bd15
make -C %{kernel_source} M=$PWD/obj/%{kmod_kbuild_dir} V=1 \
82bd15
	NOSTDINC_FLAGS="-I $PWD/obj/include -I $PWD/obj/include/uapi"
82bd15
# mark modules executable so that strip-to-file can strip them
82bd15
find obj/%{kmod_kbuild_dir} -name "*.ko" -type f -exec chmod u+x '{}' +
82bd15
82bd15
whitelist="/lib/modules/kabi-current/kabi_whitelist_%{_target_cpu}"
82bd15
82bd15
for modules in $( find obj/%{kmod_kbuild_dir} -name "*.ko" -type f -printf "%{findpat}\n" | sed 's|\.ko$||' | sort -u ) ; do
82bd15
	# update depmod.conf
82bd15
	module_weak_path=$(echo $modules | sed 's/[\/]*[^\/]*$//')
82bd15
	if [ -z "$module_weak_path" ]; then
82bd15
		module_weak_path=%{name}
82bd15
	else
82bd15
		module_weak_path=%{name}/$module_weak_path
82bd15
	fi
82bd15
	echo "override $(echo $modules | sed 's/.*\///') $(echo %{kmod_headers_version} | sed 's/\.[^\.]*$//').* weak-updates/$module_weak_path" >> source/depmod.conf
82bd15
82bd15
	# update greylist
82bd15
	nm -u obj/%{kmod_kbuild_dir}/$modules.ko | sed 's/.*U //' |  sed 's/^\.//' | sort -u | while read -r symbol; do
82bd15
		grep -q "^\s*$symbol\$" $whitelist || echo "$symbol" >> source/greylist
82bd15
	done
82bd15
done
82bd15
sort -u source/greylist | uniq > source/greylist.txt
82bd15
82bd15
%install
82bd15
export INSTALL_MOD_PATH=$RPM_BUILD_ROOT
82bd15
export INSTALL_MOD_DIR=extra/%{name}
82bd15
make -C %{kernel_source} modules_install V=1 \
82bd15
	M=$PWD/obj/%{kmod_kbuild_dir}
82bd15
# Cleanup unnecessary kernel-generated module dependency files.
82bd15
find $INSTALL_MOD_PATH/lib/modules -iname 'modules.*' -exec rm {} \;
82bd15
82bd15
install -m 644 -D source/depmod.conf $RPM_BUILD_ROOT/etc/depmod.d/%{kmod_name}.conf
82bd15
install -m 644 -D source/greylist.txt $RPM_BUILD_ROOT/usr/share/doc/kmod-%{kmod_name}/greylist.txt
82bd15
82bd15
%clean
82bd15
rm -rf $RPM_BUILD_ROOT
82bd15
82bd15
%changelog
82bd15
* Fri Jun 14 2019 - Andy Walsh <awalsh@redhat.com> - 6.2.1.102-53
82bd15
- Continued converting the VDO device to conform to the DM convention of
82bd15
  not issuing I/O while suspended.
82bd15
  - Resolves: rhbz#1659303
82bd15
- Added more rate limiting of error logging in both the kvdo and uds
82bd15
  modules in order to avoid soft-lockups on newer kernels.
82bd15
  - Resolves: rhbz#1703243
82bd15
- Eliminated the passing of addresses of unaligned fields in packed
82bd15
  - Resolves: rhbz#1718058
82bd15
82bd15
* Tue May 21 2019 - Andy Walsh <awalsh@redhat.com> - 6.2.1.48-53
82bd15
- Bumped NVR for new 4.18 kernel
82bd15
- Relates: rhbz#1695330
82bd15
82bd15
* Tue May 21 2019 - Andy Walsh <awalsh@redhat.com> - 6.2.1.48-52
82bd15
- Bumped NVR for new 4.18 kernel
82bd15
- Relates: rhbz#1695330
82bd15
82bd15
* Sun May 05 2019 - Andy Walsh <awalsh@redhat.com> - 6.2.1.48-51
82bd15
- Modified the setting of the dm target version for VDO devices to only
82bd15
  change when the dm interface (i.e. table line) changes instead of tying
82bd15
  it to the VDO version.
82bd15
  - Resolves: rhbz#1665298
82bd15
- Improved error handling when resizing VDO devices.
82bd15
  - Resolves: rhbz#1659247
82bd15
- Reduced, removed, and/or rate limited error logging to avoid
82bd15
  soft-lockups.
82bd15
  - Resolves: rhbz#1678785
82bd15
  - Resolves: rhbz#1698664
82bd15
- Began converting the VDO device to conform to the DM convention of not
82bd15
  issuing I/O while suspended.
82bd15
  - Relates: rhbz#1659303
82bd15
- Added a dmsetup message to close the UDS index of a running VDO device.
82bd15
  - Relates: rhbz#1643291
82bd15
82bd15
* Fri May 03 2019 - Andy Walsh <awalsh@redhat.com> - 6.2.0.293-51
82bd15
- Bumped NVR for new 4.18 kernel
82bd15
- Relates: rhbz#1695330
82bd15
82bd15
* Mon Feb 25 2019 - Andy Walsh <awalsh@redhat.com> - 6.2.0.293-50
82bd15
- Bumped NVR for new 4.18 kernel
82bd15
- Relates: rhbz#1623006
82bd15
82bd15
* Fri Feb 15 2019 - Andy Walsh <awalsh@redhat.com> - 6.2.0.293-49
82bd15
- Bumped NVR for new 4.18 kernel
82bd15
- Relates: rhbz#1623006
82bd15
82bd15
* Wed Feb 13 2019 - Andy Walsh <awalsh@redhat.com> - 6.2.0.293-48
82bd15
- Bumped NVR for new 4.18 kernel
82bd15
- Relates: rhbz#1623006
82bd15
82bd15
* Sat Feb 09 2019 - Andy Walsh <awalsh@redhat.com> - 6.2.0.293-47
82bd15
- Bumped NVR for new 4.18 kernel
82bd15
- Relates: rhbz#1623006
82bd15
82bd15
* Fri Feb 08 2019 - Andy Walsh <awalsh@redhat.com> - 6.2.0.293-46
82bd15
- Bumped NVR for new 4.18 kernel
82bd15
- Relates: rhbz#1623006
82bd15
82bd15
* Wed Feb 06 2019 - Andy Walsh <awalsh@redhat.com> - 6.2.0.293-45
82bd15
- Bumped NVR for new 4.18 kernel
82bd15
- Relates: rhbz#1623006
82bd15
82bd15
* Wed Jan 16 2019 - Andy Walsh <awalsh@redhat.com> - 6.2.0.293-44
82bd15
- Bumped NVR for new 4.18 kernel
82bd15
- Relates: rhbz#1623006
82bd15
82bd15
* Mon Jan 14 2019 - Andy Walsh <awalsh@redhat.com> - 6.2.0.293-43
82bd15
- Bumped NVR for new 4.18 kernel
82bd15
- Relates: rhbz#1623006
82bd15
82bd15
* Fri Jan 11 2019 - Andy Walsh <awalsh@redhat.com> - 6.2.0.293-42
82bd15
- Bumped NVR for new 4.18 kernel
82bd15
- Relates: rhbz#1623006
82bd15
82bd15
* Mon Jan 07 2019 - Andy Walsh <awalsh@redhat.com> - 6.2.0.293-41
82bd15
- Bumped NVR for new 4.18 kernel
82bd15
- Relates: rhbz#1623006
82bd15
82bd15
* Wed Dec 19 2018 - Andy Walsh <awalsh@redhat.com> - 6.2.0.293-40
82bd15
- Bumped NVR for new 4.18 kernel
82bd15
- Relates: rhbz#1623006
82bd15
82bd15
* Mon Dec 17 2018 - Andy Walsh <awalsh@redhat.com> - 6.2.0.293-39
82bd15
- Bumped NVR for new 4.18 kernel
82bd15
- Relates: rhbz#1623006
82bd15
82bd15
* Fri Dec 14 2018 - Andy Walsh <awalsh@redhat.com> - 6.2.0.293-38
82bd15
- Improved dmsetup error reporting of invalid thread counts.
82bd15
- rhbz#1645324
82bd15
- Allowed VDO backing devices to specified by device number.
82bd15
- Resolves: rhbz#1594285
82bd15
- Eliminated memory allocations when suspended.
82bd15
- Resolves: rhbz#1658348
82bd15
- Improved error handling during suspend.
82bd15
- Resolves: rhbz#1658348
82bd15
82bd15
* Wed Dec 12 2018 - Andy Walsh <awalsh@redhat.com> - 6.2.0.239-38
82bd15
- Bumped NVR for new 4.18 kernel
82bd15
- Relates: rhbz#1623006
82bd15
82bd15
* Mon Dec 10 2018 - Andy Walsh <awalsh@redhat.com> - 6.2.0.239-37
82bd15
- Bumped NVR for driver signing
82bd15
- Relates: rhbz#1589873
82bd15
- Bumped NVR for new 4.18 kernel
82bd15
- Relates: rhbz#1623006
82bd15
82bd15
* Thu Nov 29 2018 - Andy Walsh <awalsh@redhat.com> - 6.2.0.239-36
82bd15
- Bumped NVR for new 4.18 kernel
82bd15
- Relates: rhbz#1623006
82bd15
82bd15
* Fri Nov 16 2018 - Andy Walsh <awalsh@redhat.com> - 6.2.0.273-35
82bd15
- Fixed more error path memory leaks in the uds and kvdo modules.
82bd15
- Resolves: rhbz#1639854
82bd15
- Removed the read cache.
82bd15
- Resolves: rhbz#1639512
82bd15
- Fixed a bug which prevented parsing of version 0 table lines.
82bd15
- Resolves: rhbz#1643639
82bd15
- In order to properly handle version 0 table lines, made no-op physical
82bd15
  growth not an error.
82bd15
- Resolves: rhbz#1643639
82bd15
- Limited the number of logical zones to 60.
82bd15
- Resolves: rhbz#1645324
82bd15
- Converted to use the kernel's bio zeroing method instead of a VDO
82bd15
  specific one.
82bd15
- Resolves: rhbz#1647446
82bd15
- Added a missing call to flush_cache_page() after writing pages which may
82bd15
  be owned by the page cache or a user as required by the kernel.
82bd15
- Resolves: rhbz#1647446
82bd15
- Added a version 2 table line which uses DM-style optional parameters.
82bd15
- Resolves: rhbz#1648469
82bd15
- Fixed a bug in the statistics tracking partial I/Os.
82bd15
- Resolves: rhbz#1648496
82bd15
- Added a maximum discard size table line parameter and removed the
82bd15
  corresponding sysfs parameter which applied to all VDO devices.
82bd15
- Resolves: rhbz#1648469
82bd15
82bd15
* Wed Nov 07 2018 - Andy Walsh <awalsh@redhat.com> - 6.2.0.239-35
82bd15
- Bumped NVR for new 4.18 kernel
82bd15
- Relates: rhbz#1623006
82bd15
82bd15
* Wed Oct 24 2018 - Andy Walsh <awalsh@redhat.com> - 6.2.0.239-34
82bd15
- Bumped NVR for new 4.18 kernel
82bd15
- Relates: rhbz#1623006
82bd15
82bd15
* Wed Oct 24 2018 - Andy Walsh <awalsh@redhat.com> - 6.2.0.239-33
82bd15
- Bumped NVR for new 4.18 kernel
82bd15
- Relates: rhbz#1623006
82bd15
82bd15
* Fri Oct 19 2018 - Andy Walsh <awalsh@redhat.com> - 6.2.0.239-32
82bd15
- Depend on more of the NVR for the kernel package.
82bd15
- Resolves: rhbz#1640699
82bd15
82bd15
* Tue Oct 16 2018 - Andy Walsh <awalsh@redhat.com> - 6.2.0.239-31
82bd15
- Bumped NVR for new 4.18 kernel
82bd15
- Relates: rhbz#1623006
82bd15
82bd15
* Tue Oct 16 2018 - Tomas Kopecek <tkopecek@redhat.com> - 6.2.0.239-30
82bd15
- Bumped NVR for driver signing
82bd15
- Relates: rhbz#1589873
82bd15
82bd15
* Mon Oct 15 2018 - Andy Walsh <awalsh@redhat.com> - 6.2.0.239-29
82bd15
- Bumped NVR for driver signing
82bd15
- Relates: rhbz#1589873
82bd15
82bd15
* Thu Oct 11 2018 - Andy Walsh <awalsh@redhat.com> - 6.2.0.239-28
82bd15
- Bumped NVR for new 4.18 kernel
82bd15
- Relates: rhbz#1623006
82bd15
82bd15
* Wed Oct 10 2018 - Andy Walsh <awalsh@redhat.com> - 6.2.0.239-27
82bd15
- Bumped NVR for new 4.18 kernel
82bd15
- Relates: rhbz#1623006
82bd15
82bd15
* Sun Oct 07 2018 - Andy Walsh <awalsh@redhat.com> - 6.2.0.239-26
82bd15
- Fixed error path memory leaks in the uds and kvdo modules.
82bd15
- Resolves: rhbz#1609403
82bd15
- Modified the physical and logical growth procedures to be consistent with
82bd15
  other device mapper targets.
82bd15
- Resolves: rhbz#1631868
82bd15
82bd15
* Fri Sep 28 2018 - Andy Walsh <awalsh@redhat.com> - 6.2.0.219-26
82bd15
- Bumped NVR for new 4.18 kernel
82bd15
- Relates: rhbz#1623006
82bd15
82bd15
* Thu Sep 27 2018 - Andy Walsh <awalsh@redhat.com> - 6.2.0.219-25
82bd15
- Bumped NVR for new 4.18 kernel
82bd15
- Relates: rhbz#1623006
82bd15
82bd15
* Tue Sep 25 2018 - Andy Walsh <awalsh@redhat.com> - 6.2.0.219-24
82bd15
- Bumped NVR for new 4.18 kernel
82bd15
- Relates: rhbz#1623006
82bd15
82bd15
* Tue Sep 25 2018 - Joseph Chapman <jochapma@redhat.com> - 6.2.0.219-23
82bd15
- Bumped NVR for new 4.18 kernel
82bd15
- Relates: rhbz#1623006
82bd15
82bd15
* Mon Sep 24 2018 - Andy Walsh <awalsh@redhat.com> - 6.2.0.219-22
82bd15
- Bumped NVR for new 4.18 kernel
82bd15
- Relates: rhbz#1623006
82bd15
82bd15
* Fri Sep 21 2018 - Andy Walsh <awalsh@redhat.com> - 6.2.0.219-21
82bd15
- Bumped NVR for new 4.18 kernel
82bd15
- Relates: rhbz#1623006
82bd15
82bd15
* Thu Sep 20 2018 - Andy Walsh <awalsh@redhat.com> - 6.2.0.219-20
82bd15
- Bumped NVR for new 4.18 kernel
82bd15
- Relates: rhbz#1623006
82bd15
82bd15
* Wed Sep 19 2018 - Andy Walsh <awalsh@redhat.com> - 6.2.0.219-19
82bd15
- Bumped NVR for new 4.18 kernel
82bd15
- Relates: rhbz#1623006
82bd15
82bd15
* Tue Sep 18 2018 - Andy Walsh <awalsh@redhat.com> - 6.2.0.219-18
82bd15
- Bumped NVR for new 4.18 kernel
82bd15
- Relates: rhbz#1623006
82bd15
82bd15
* Mon Sep 17 2018 - Andy Walsh <awalsh@redhat.com> - 6.2.0.219-17
82bd15
- Fixed error path memory leaks in the uds and kvdo modules.
82bd15
- Resolves: rhbz#1609403
82bd15
- Fixed conflict errors when installing RPMs via dnf.
82bd15
- Resolves: rhbz#1601103
82bd15
- Fixed a hang when recovering a VDO volume with a physical size larger
82bd15
  than 16TB.
82bd15
- Resolves: rhbz#1628316
82bd15
- Fixed some potential initialization issues in the UDS module.
82bd15
- Resolves: rhbz#1609403
82bd15
- Fixed a use-after-free bug in a UDS error path.
82bd15
- Resolves: rhbz#1609403
82bd15
- Added missing va_end() calls.
82bd15
- Resolves: rhbz#1627953
82bd15
- Modified Makefile to take build flags from rpmbuild.
82bd15
- Resolves: rhbz#1624184
82bd15
82bd15
* Fri Sep 14 2018 - Andy Walsh <awalsh@redhat.com> - 6.2.0.197-16
82bd15
- Bumped NVR for new 4.18 kernel
82bd15
- Relates: rhbz#1623006
82bd15
82bd15
* Thu Sep 13 2018 - Andy Walsh <awalsh@redhat.com> - 6.2.0.197-15
82bd15
- Bumped NVR for new 4.18 kernel
82bd15
- Relates: rhbz#1623006
82bd15
82bd15
* Wed Sep 12 2018 - Andy Walsh <awalsh@redhat.com> - 6.2.0.197-14
82bd15
- Bumped NVR for new 4.18 kernel
82bd15
- Relates: rhbz#1623006
82bd15
82bd15
* Wed Aug 29 2018 - Andy Walsh <awalsh@redhat.com> - 6.2.0.197-13
82bd15
- Bumped NVR for new 4.18 kernel
82bd15
- Relates: rhbz#1623006
82bd15
82bd15
* Wed Aug 29 2018 - Joseph Chapman <jochapma@redhat.com> - 6.2.0.197-12
82bd15
- Bumped NVR for new 4.18 kernel
82bd15
- Relates: rhbz#1623006
82bd15
82bd15
* Tue Aug 28 2018 - Josh Boyer <jwboyer@redhat.com> - 6.2.0.197-11
82bd15
- Bumped NVR for new 4.18 kernel
82bd15
- Relates: rhbz#1623006
82bd15
82bd15
* Fri Aug 24 2018 - Andy Walsh <awalsh@redhat.com> - 6.2.0.197-10
82bd15
- Bumped NVR for new 4.18 kernel
82bd15
- Relates: rhbz#1611663
82bd15
82bd15
* Mon Aug 20 2018 - Andy Walsh <awalsh@redhat.com> - 6.2.0.197-9
82bd15
- Patched a new compiler warning out
82bd15
- Relates: rhbz#1611663
82bd15
82bd15
* Mon Aug 20 2018 - Andy Walsh <awalsh@redhat.com> - 6.2.0.197-8
82bd15
- Bumped NVR for new 4.18 kernel
82bd15
- Relates: rhbz#1611663
82bd15
82bd15
* Mon Aug 13 2018 - Andy Walsh <awalsh@redhat.com> - 6.2.0.197-7
82bd15
- Bumped NVR for 4.18 rebase
82bd15
- Resolves: rhbz#1534087
82bd15
82bd15
* Wed Aug  8 2018 - Andy Walsh <awalsh@redhat.com> - 6.2.0.197-6
82bd15
- Enabled the setting of max_discard_sectors for VDO devices via sysfs.
82bd15
  This allows users stacking dm-thin devices on top of VDO to set a value which
82bd15
  is large enough that dm-thin will send discards to VDO.
82bd15
- Resolves: rhbz#1612349
82bd15
82bd15
* Sat Jul 28 2018 - Andy Walsh <awalsh@redhat.com> - 6.2.0.187-6
82bd15
- No longer attempt to unload modules in %preun
82bd15
- Resolves: rhbz#1553420
82bd15
- Fixed a bug in %preun that was attempting to call 'dnf'
82bd15
- Resolves: rhbz#1598924
82bd15
- Fixed weak-modules calls to use proper location for dracut
82bd15
- Resolves: rhbz#1609178
82bd15
- Fixed a potential deadlock in the UDS index by using the kernel supplied
82bd15
  struct callback instead of our own implementation of synchronous
82bd15
  callbacks.
82bd15
- Eliminated obsolete code and fields from UDS.
82bd15
- Converted the VDO module to use numeric.h from the UDS module instead of
82bd15
  having its own version.
82bd15
- Fixed a bug which would cause incorrect encoding of VDO data structures
82bd15
  on disk.
82bd15
- Removed or modified logging which prints pointers from the kernel since
82bd15
  newer kernels obfuscate the pointer values for security reasons.
82bd15
- Eliminated confusing and spurious error messages when rebuilding a UDS
82bd15
  index.
82bd15
- Improved memory allocation by not using the incorrect __GFP_NORETRY flag
82bd15
  and by using the memalloc_noio_save mechanism.
82bd15
- Finished conversion of the encoding and decoding of the VDO's on-disk
82bd15
  structures to be platform independent.
82bd15
- Converted VDO to use the atomic API from the UDS module instead of its
82bd15
  own.
82bd15
- Fixed memory leaks in UDS error paths.
82bd15
- Fixed a potential stack overflow when reaping the recovery journal.
82bd15
82bd15
* Fri Jul 06 2018 - Andy Walsh <awalsh@redhat.com> - 6.2.0.132-5
82bd15
- Rebuilt to work with 4.18 kernel.
82bd15
82bd15
* Thu Jun 28 2018 - Andy Walsh <awalsh@redhat.com> - 6.2.0.132-4
82bd15
Note: This is a pre-release version, future versions of VDO may not support
82bd15
VDO devices created with this version.
82bd15
- Removed obsolete code.
82bd15
- Continued conversion of the encoding and decoding of the VDO's on-disk
82bd15
  structures to be platform independent.
82bd15
- Adopted use of gcc's built-in byte order macros.
82bd15
- Converted the VDO module to use the platform independent version of the
82bd15
  Murmur3 hash from the UDS module.
82bd15
- Improved counting of dedupe timeouts by including in the count queries
82bd15
  which are not made due to their being a lack of resources from previous
82bd15
  queries taking too long.
82bd15
- Improved checking that VDO does not allocate memory from its own threads
82bd15
  during normal operation.
82bd15
- Fixed a bug which caused crashes with VDO on top of RAID-50.
82bd15
- Fixed a bug which caused VDO to ignore most flush requests on kernels
82bd15
  later than 4.10
82bd15
- Resolves: rhbz#1594062
82bd15
82bd15
* Thu Jun 21 2018 - Andy Walsh <awalsh@redhat.com> - 6.2.0.109-4
82bd15
Note: This is a pre-release version, future versions of VDO may not support
82bd15
VDO devices created with this version.
82bd15
- Removed obsolete code.
82bd15
- Made uses of memory barriers and atomics more portable across platforms.
82bd15
- Converted the encoding and decoding of many of VDO's on-disk structures
82bd15
  to be platform independent.
82bd15
- Made the implementation of VDO's in-memory data structures platform
82bd15
  independent.
82bd15
- Fixed a logging bug which resulted in single log message being split
82bd15
  across multiple log lines on newer kernels.
82bd15
- Fixed a bug which would cause attempts to grow the physical size of a VDO
82bd15
  device to fail if the device below the VDO was resized while the VDO was
82bd15
  offline.
82bd15
- Converted to use GCC's built-in macros for determining endianness.
82bd15
- Converted some non-performance critical atomics to be spinlock protected
82bd15
  in order to avoid dealing with memory barrier portability issues.
82bd15
- Fixed a bug which could cause data loss when discarding unused portions
82bd15
  of a VDO's logical space.
82bd15
- Reduced memory usage (slightly) by rearranging structures to pack better
82bd15
  in memory.
82bd15
- Modified grow physical to fail in the prepare step if the size isn't
82bd15
  changing, avoiding a suspend-and-resume cycle.
82bd15
- Added support for building with a 4.18 kernel.
82bd15
82bd15
* Mon Jun 04 2018 - Andy Walsh <awalsh@redhat.com> - 6.2.0.71-4
82bd15
Note: This is a pre-release version, future versions of VDO may not support
82bd15
VDO devices created with this version.
82bd15
- Updated to compile on aarch64, ppc64le, and s390x processor architectures
82bd15
  in addition to x86.
82bd15
- Updated atomics, memory barriers, and other synchronization mechanisms to
82bd15
  work on aarch64, ppc64le, and s390x processor architectures in addition
82bd15
  to x86.
82bd15
- Fixed thread safety issues in the UDS page cache.
82bd15
- Removed obsolete code and interfaces from the UDS module.
82bd15
- Added /sys/kvdo/version which contains the currently loaded version of
82bd15
  the kvdo module.
82bd15
- Updated the UDS module to consistently generate and encode on-disk data
82bd15
  regardless of the processor architecture.
82bd15
- Began Updating the VDO module to consistently encode on-disk data
82bd15
  regardless of the processor architecture.
82bd15
- Added logging of normal operation when a VDO device starts normally.
82bd15
- Fixed a potential use-after-free race when shutting down a VDO device.
82bd15
- Modified allocations made from VDO index threads to use the correct flags.
82bd15
- Exported the MurmurHash3 implementation from the UDS module rather than
82bd15
  having a seperate copy in the VDO module.
82bd15
- Fixed handling of I/O errors in 4.13 and later kernels.
82bd15
- Exported functions for handling endian conversions from the UDS module
82bd15
  for use by the VDO module.
82bd15
82bd15
* Tue May 01 2018 - Andy Walsh <awalsh@redhat.com> - 6.2.0.35-3
82bd15
- Enabled aarch64 builds
82bd15
82bd15
* Fri Apr 27 2018 - Andy Walsh <awalsh@redhat.com> - 6.2.0.35-2
82bd15
Note: This is a pre-release version, future versions of VDO may not support
82bd15
VDO devices created with this version.
82bd15
- Added validation that the release version numbers in the geometry and
82bd15
  super block match on load.
82bd15
- Fixed compilation problems on newer versions of GCC.
82bd15
82bd15
* Tue Apr 24 2018 - Andy Walsh <awalsh@redhat.com> - 6.2.0.32-2
82bd15
Note: This is a pre-release version, future versions of VDO may not support
82bd15
VDO devices created with this version.
82bd15
- Merged the funnel queue implementations in the uds and kvdo modules.
82bd15
- Improved deduplication of concurrent requests containing the same data.
82bd15
- Enabled loading of VDO devices created with version 6.0 or 6.1.
82bd15
- Moved atomic.h from the UDS module to the VDO module since the UDS module
82bd15
  doesn't use it.
82bd15
- Removed spurious error messages when first creating the index for a new
82bd15
  VDO.
82bd15
- Added validation that the release version numbers in the geometry block
82bd15
  and VDO super block match.
82bd15
- Fixed bug in UDS on architectures with page sizes larger than 4K.
82bd15
- Reflected kernel change of SECTOR_SHIFT and SECTOR_SIZE from enums to
82bd15
  macros.
82bd15
- Continued to remove obsolete functionality from the UDS module.
82bd15
- Continued to add support for architectures other than x86.
82bd15
- Fixed a thread-safety issue in UDS module's chapter cache.
82bd15
82bd15
* Tue Apr 17 2018 - Andy Walsh <awalsh@redhat.com> - 6.2.0.4-2
82bd15
- Fixed path to _sbindir for weak-mldules
82bd15
- Resolves: rhbz#1566144
82bd15
         
82bd15
* Fri Apr 13 2018 - Andy Walsh <awalsh@redhat.com> - 6.2.0.4-1
82bd15
- Updated to use github for Source0
82bd15
- Removed unused sections
82bd15
- Initial RHEL8 RPM rhbz#1534087
82bd15
         
82bd15
* Fri Apr 13 2018 - J. corwin Coburn <corwin@redhat.com> - 6.2.0.4-1
82bd15
- Initial pre-release for RHEL 8.
82bd15
  - Please be aware that this version is not compatible with previous versions
82bd15
    of VDO. Support for loading or upgrading devices created with VDO version
82bd15
    6.1 will be available soon.
82bd15
- Management tools will work with both python 2 and python 3.
82bd15
- Dedupe path improvements.
82bd15
- Beginnings of support for non-x86 architectures.
82bd15
- Removed obsolete code from UDS.
82bd15
82bd15
* Tue Feb 27 2018 - Andy Walsh <awalsh@redhat.com> - 6.1.0.153-15
82bd15
- Fixed preun handling of loaded modules
82bd15
- Resolves: rhbz#1549178
82bd15
82bd15
* Fri Feb 16 2018 - Joseph Chapman <jochapma@redhat.com> - 6.1.0.149-13
82bd15
- Sync mode is safe if underlying storage changes to requiring flushes
82bd15
- Resolves: rhbz#1540777
82bd15
82bd15
* Wed Feb 07 2018 - Joseph Chapman <jochapma@redhat.com> - 6.1.0.146-13
82bd15
- Module target is now "vdo" instead of "dedupe"
82bd15
- Fixed a bug where crash recovery led to failed kernel page request
82bd15
- Improved modification log messages
82bd15
- Improved package description and summary fields
82bd15
- Resolves: rhbz#1535127
82bd15
- Resolves: rhbz#1535597
82bd15
- Resolves: rhbz#1540696
82bd15
- Resolves: rhbz#1541409
82bd15
82bd15
* Tue Feb 06 2018 - Andy Walsh <awalsh@redhat.com> - 6.1.0.144-13
82bd15
- Updated summary and descriptions
82bd15
- Resolves: rhbz#1541409
82bd15
82bd15
* Thu Feb 01 2018 - Joseph Chapman <jochapma@redhat.com> - 6.1.0.130-12
82bd15
- Fix General Protection Fault unlocking UDS callback mutex
82bd15
- Removing kmod-kvdo package unloads kernel module
82bd15
- Fix URL to point to GitHub tree
82bd15
- Resolves: rhbz#1510176
82bd15
- Resolves: rhbz#1533260
82bd15
- Resolves: rhbz#1539061
82bd15
82bd15
* Fri Jan 19 2018 - Joseph Chapman <jochapma@redhat.com> - 6.1.0.124-11
82bd15
- Fixed provisional referencing for dedupe.
82bd15
- Only log a bio submission from a VDO to itself.
82bd15
- vdoformat cleans up metadata properly after fail.
82bd15
- Resolves: rhbz#1511587
82bd15
- Resolves: rhbz#1520972
82bd15
- Resolves: rhbz#1532481
82bd15
82bd15
* Wed Jan 10 2018 - Joseph Chapman <jochapma@redhat.com> - 6.1.0.114-11
82bd15
- /sys/uds permissions now resticted to superuser only
82bd15
- Remove /sys/uds files that should not be used in production
82bd15
- Removing kvdo module reports version
82bd15
- VDO automatically chooses the proper write policy by default
82bd15
- Fixed a Coverity-detected error path leak
82bd15
- Resolves: rhbz#1525305
82bd15
- Resolves: rhbz#1527734
82bd15
- Resolves: rhbz#1527737
82bd15
- Resolves: rhbz#1527924
82bd15
- Resolves: rhbz#1528399
82bd15
82bd15
* Thu Dec 21 2017 - Joseph Chapman <jochapma@redhat.com> - 6.1.0.106-11
82bd15
- Detect journal overflow after 160E of writes
82bd15
- Clean up UDS threads when removing last VDO
82bd15
- Resolves: rhbz#1512968
82bd15
- Resolves: rhbz#1523240
82bd15
82bd15
* Tue Dec 12 2017 Joe Chapman <jochapma@redhat.com> 6.1.0.97-11
82bd15
- Default logical size is no longer over-provisioned
82bd15
- Remove debug logging when verifying dedupe advice
82bd15
- Resolves: rhbz#1519330
82bd15
82bd15
* Fri Dec 08 2017 Joe Chapman <jochapma@redhat.com> 6.1.0.89-11
82bd15
- improve metadata cleanup after vdoformat failure
82bd15
- log REQ_FLUSH & REQ_FUA at level INFO
82bd15
- improve performance of cuncurrent write requests with the same data
82bd15
- Resolves: rhbz#1520972
82bd15
- Resolves: rhbz#1521200
82bd15
82bd15
* Fri Dec 01 2017 Joe Chapman <jochapma@redhat.com> 6.1.0.72-10
82bd15
- clear VDO metadata on a vdo remove call
82bd15
- fix create of new dedupe indices
82bd15
- add magic number to VDO geometry block
82bd15
- do less logging when stopping a VDO
82bd15
- add a UUID
82bd15
- Resolves: rhbz#1512127
82bd15
- Resolves: rhbz#1516081
82bd15
- Resolves: rhbz#1511109
82bd15
- Resolves: rhbz#1515183
82bd15
82bd15
* Fri Nov 17 2017 Joe Chapman <jochapma@redhat.com> 6.1.0.55-9
82bd15
- fail loading an uncreated index more gracefully
82bd15
- remove spurious/unnecessary files from the distribution
82bd15
- fix kernel module version
82bd15
- make logging less chatty
82bd15
- fix an integer overflow in makeVDOLayout
82bd15
- Resolves: rhbz#1511034
82bd15
- Resolves: rhbz#1511109
82bd15
- Resolves: rhbz#1511096
82bd15
82bd15
* Fri Nov 10 2017 Joe Chapman <jochapma@redhat.com> 6.1.0.44-8
82bd15
- fix readCacheSize handling large numbers
82bd15
- vdoformat signals error when it finds a geometry block
82bd15
- prevent kernel oops when loading an old geometry block
82bd15
- vdoformat silently rounds down physical sizes to a block boundary
82bd15
- UDS threads identify related VDO device
82bd15
- clean up contents of source tarballs
82bd15
- Resolves: rhbz#1505936
82bd15
- Resolves: rhbz#1507996
82bd15
- Resolves: rhbz#1509466
82bd15
- Resolves: rhbz#1510558
82bd15
- Resolves: rhbz#1510585
82bd15
- Resolves: rhbz#1511201
82bd15
- Resolves: rhbz#1511209
82bd15
82bd15
* Fri Nov 03 2017 Joe Chapman <jochapma@redhat.com> 6.1.0.34-7
82bd15
- Bugfixes
82bd15
- Resolves: rhbz#1491422
82bd15
82bd15
* Mon Oct 30 2017 Joe Chapman <jochapma@redhat.com> 6.1.0.13-6
82bd15
- Fixed some scanning tool complaints
82bd15
- Resolves: rhbz#1491422
82bd15
82bd15
* Tue Oct 24 2017 Andy Walsh <awalsh@redhat.com> 6.1.0.0-6
82bd15
- Fixed kernel requirement to allow subsequent releases without updating spec
82bd15
- Resolves: rhbz#1491422
82bd15
82bd15
* Fri Oct 20 2017 John Wiele <jwiele@redhat.com> 6.1.0.0-5
82bd15
- Bumped kernel requirement to 3.10.0-741
82bd15
- Resolves: rhbz#1491422
82bd15
82bd15
* Tue Oct 17 2017 John Wiele <jwiele@redhat.com> 6.1.0.0-4
82bd15
- Resolved some missing symbols
82bd15
- Resolves: rhbz#1491422
82bd15
82bd15
* Mon Oct 16 2017 John Wiele <jwiele@redhat.com> 6.1.0.0-3
82bd15
- Updated to provide a useable package
82bd15
- Resolves: rhbz#1491422
82bd15
82bd15
* Sat Oct 14 2017 Andy Walsh <awalsh@redhat.com> 6.1.0.0-2
82bd15
- Removed invalid requirement and some unnecessary comments in spec
82bd15
- Resolves: rhbz#1491422
82bd15
82bd15
* Wed Oct 11 2017 John Wiele <jwiele@redhat.com> 6.1.0.0-1
82bd15
- Initial vdo module for Driver Update Program
82bd15
- Resolves: rhbz#1491422