Compare commits
No commits in common. "c8" and "c9s" have entirely different histories.
|
@ -1 +1,13 @@
|
||||||
SOURCES/kvdo-c3fab42.tar.gz
|
/kvdo-36c3e1c.tar.gz
|
||||||
|
/kvdo-2e1a578.tar.gz
|
||||||
|
/kvdo-000a4c2.tar.gz
|
||||||
|
/kvdo-3f9bde5.tar.gz
|
||||||
|
/kvdo-f9d6d18.tar.gz
|
||||||
|
/kvdo-819203a.tar.gz
|
||||||
|
/kvdo-e209cfe.tar.gz
|
||||||
|
/kvdo-127a993.tar.gz
|
||||||
|
/kvdo-6077a12.tar.gz
|
||||||
|
/kvdo-883a960.tar.gz
|
||||||
|
/kvdo-e2a5ebb.tar.gz
|
||||||
|
/kvdo-c9bd224.tar.gz
|
||||||
|
/kvdo-c6254c6.tar.gz
|
||||||
|
|
|
@ -1 +0,0 @@
|
||||||
7ddd70363a5e0c29d5690683af2d01194c242e58 SOURCES/kvdo-c3fab42.tar.gz
|
|
1032
SPECS/kmod-kvdo.spec
1032
SPECS/kmod-kvdo.spec
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,6 @@
|
||||||
|
--- !Policy
|
||||||
|
product_versions:
|
||||||
|
- rhel-9
|
||||||
|
decision_context: osci_compose_gate
|
||||||
|
rules:
|
||||||
|
- !PassingTestCaseRule {test_case_name: osci.brew-build.tier0.functional}
|
|
@ -0,0 +1,754 @@
|
||||||
|
%global commit c6254c6db5cfa02ecf5bbb4db2c5728f23aa3b2a
|
||||||
|
%global gittag 8.2.3.3
|
||||||
|
%global shortcommit %(c=%{commit}; echo ${c:0:7})
|
||||||
|
%define spec_release 125
|
||||||
|
|
||||||
|
%define kmod_name kvdo
|
||||||
|
%define kmod_driver_version %{gittag}
|
||||||
|
%define kmod_rpm_release %{spec_release}
|
||||||
|
%define kmod_kernel_version 5.14.0-452.el9
|
||||||
|
%define kmod_headers_version %(rpm -qa kernel-devel | sed 's/^kernel-devel-//')
|
||||||
|
%define kmod_kbuild_dir .
|
||||||
|
%define kmod_devel_package 0
|
||||||
|
|
||||||
|
Source0: https://github.com/dm-vdo/%{kmod_name}/archive/%{commit}/%{kmod_name}-%{shortcommit}.tar.gz
|
||||||
|
Patch0: add_lz4_dependency.patch
|
||||||
|
Patch1: removed-logical-space-check-from-table-line.patch
|
||||||
|
Patch2: use_vdo_target_block_device.patch
|
||||||
|
|
||||||
|
%define findpat %( echo "%""P" )
|
||||||
|
|
||||||
|
Name: kmod-kvdo
|
||||||
|
Version: %{kmod_driver_version}
|
||||||
|
Release: %{kmod_rpm_release}%{?dist}
|
||||||
|
Summary: Kernel Modules for Virtual Data Optimizer
|
||||||
|
License: GPLv2+
|
||||||
|
URL: http://github.com/dm-vdo/kvdo
|
||||||
|
BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
|
||||||
|
BuildRequires: elfutils-libelf-devel
|
||||||
|
BuildRequires: glibc
|
||||||
|
BuildRequires: kernel-devel >= %{kmod_kernel_version}
|
||||||
|
|
||||||
|
# Disable the kernel-debug requirement for now
|
||||||
|
|
||||||
|
BuildRequires: libuuid-devel
|
||||||
|
BuildRequires: redhat-rpm-config
|
||||||
|
ExcludeArch: i686
|
||||||
|
ExcludeArch: ppc
|
||||||
|
ExcludeArch: ppc64
|
||||||
|
ExcludeArch: s390
|
||||||
|
|
||||||
|
%global kernel_source() /usr/src/kernels/%{kmod_headers_version}
|
||||||
|
|
||||||
|
%global _use_internal_dependency_generator 0
|
||||||
|
Provides: kmod-%{kmod_name} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||||
|
Requires(post): %{_sbindir}/weak-modules
|
||||||
|
Requires(postun): %{_sbindir}/weak-modules
|
||||||
|
Requires: kernel-core-uname-r >= %{kmod_kernel_version}
|
||||||
|
Requires: kernel-modules-uname-r >= %{kmod_kernel_version}
|
||||||
|
Conflicts: kernel-64k
|
||||||
|
|
||||||
|
%description
|
||||||
|
Virtual Data Optimizer (VDO) is a device mapper target that delivers
|
||||||
|
block-level deduplication, compression, and thin provisioning.
|
||||||
|
|
||||||
|
This package provides the kernel modules for VDO.
|
||||||
|
|
||||||
|
%pre
|
||||||
|
# During the install, check whether kvdo or uds is loaded. A warning here
|
||||||
|
# indicates that a previous install was not completely removed. This message
|
||||||
|
# is purely informational to the user.
|
||||||
|
for module in kvdo uds; do
|
||||||
|
if grep -q "^${module}" /proc/modules; then
|
||||||
|
if [ "${module}" == "kvdo" ]; then
|
||||||
|
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."
|
||||||
|
else
|
||||||
|
echo "WARNING: Found ${module} module previously loaded. A reboot is recommended before attempting to use the newly installed module."
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
%post
|
||||||
|
modules=( $(find /lib/modules/%{kmod_headers_version}/extra/kmod-%{kmod_name} | grep '\.ko$') )
|
||||||
|
printf '%s\n' "${modules[@]}" >> /usr/lib/rpm-kmod-posttrans-weak-modules-add
|
||||||
|
|
||||||
|
%pretrans -p <lua>
|
||||||
|
posix.unlink("/usr/lib/rpm-kmod-posttrans-weak-modules-add")
|
||||||
|
|
||||||
|
%posttrans
|
||||||
|
if [ -f "/usr/lib/rpm-kmod-posttrans-weak-modules-add" ]; then
|
||||||
|
modules=( $(cat /usr/lib/rpm-kmod-posttrans-weak-modules-add) )
|
||||||
|
rm -rf /usr/lib/rpm-kmod-posttrans-weak-modules-add
|
||||||
|
printf '%s\n' "${modules[@]}" | %{_sbindir}/weak-modules --dracut=/usr/bin/dracut --add-modules
|
||||||
|
fi
|
||||||
|
|
||||||
|
%preun
|
||||||
|
rpm -ql kmod-kvdo-%{kmod_driver_version}-%{kmod_rpm_release}%{?dist}.$(arch) | grep '\.ko$' > /var/run/rpm-kmod-%{kmod_name}-modules
|
||||||
|
# Check whether kvdo or uds is loaded, and if so attempt to remove it. A
|
||||||
|
# failure to unload means there is still something using the module. To make
|
||||||
|
# sure the user is aware, we print a warning with recommended instructions.
|
||||||
|
for module in kvdo uds; do
|
||||||
|
if grep -q "^${module}" /proc/modules; then
|
||||||
|
warnMessage="WARNING: ${module} in use. Changes will take effect after a reboot."
|
||||||
|
modprobe -r ${module} 2>/dev/null || echo ${warnMessage} && /usr/bin/true
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
%postun
|
||||||
|
modules=( $(cat /var/run/rpm-kmod-%{kmod_name}-modules) )
|
||||||
|
rm /var/run/rpm-kmod-%{kmod_name}-modules
|
||||||
|
printf '%s\n' "${modules[@]}" | %{_sbindir}/weak-modules --dracut=/usr/bin/dracut --remove-modules
|
||||||
|
|
||||||
|
%files
|
||||||
|
%defattr(644,root,root,755)
|
||||||
|
/lib/modules/%{kmod_headers_version}
|
||||||
|
/etc/depmod.d/%{kmod_name}.conf
|
||||||
|
/usr/share/doc/kmod-%{kmod_name}/greylist.txt
|
||||||
|
|
||||||
|
%prep
|
||||||
|
%setup -n %{kmod_name}-%{commit}
|
||||||
|
%patch0 -p1
|
||||||
|
%patch1 -p1
|
||||||
|
%patch2 -p1
|
||||||
|
%{nil}
|
||||||
|
set -- *
|
||||||
|
mkdir source
|
||||||
|
mv "$@" source/
|
||||||
|
mkdir obj
|
||||||
|
|
||||||
|
%build
|
||||||
|
rm -rf obj
|
||||||
|
cp -r source obj
|
||||||
|
make -C %{kernel_source} M=$PWD/obj/%{kmod_kbuild_dir} V=1 \
|
||||||
|
NOSTDINC_FLAGS="-I $PWD/obj/include -I $PWD/obj/include/uapi"
|
||||||
|
# mark modules executable so that strip-to-file can strip them
|
||||||
|
find obj/%{kmod_kbuild_dir} -name "*.ko" -type f -exec chmod u+x '{}' +
|
||||||
|
|
||||||
|
whitelist="/lib/modules/kabi-current/kabi_whitelist_%{_target_cpu}"
|
||||||
|
|
||||||
|
for modules in $( find obj/%{kmod_kbuild_dir} -name "*.ko" -type f -printf "%{findpat}\n" | sed 's|\.ko$||' | sort -u ) ; do
|
||||||
|
# update depmod.conf
|
||||||
|
module_weak_path=$(echo $modules | sed 's/[\/]*[^\/]*$//')
|
||||||
|
if [ -z "$module_weak_path" ]; then
|
||||||
|
module_weak_path=%{name}
|
||||||
|
else
|
||||||
|
module_weak_path=%{name}/$module_weak_path
|
||||||
|
fi
|
||||||
|
echo "override $(echo $modules | sed 's/.*\///') $(echo %{kmod_headers_version} | sed 's/\.[^\.]*$//').* weak-updates/$module_weak_path" >> source/depmod.conf
|
||||||
|
|
||||||
|
# update greylist
|
||||||
|
nm -u obj/%{kmod_kbuild_dir}/$modules.ko | sed 's/.*U //' | sed 's/^\.//' | sort -u | while read -r symbol; do
|
||||||
|
grep -q "^\s*$symbol\$" $whitelist || echo "$symbol" >> source/greylist
|
||||||
|
done
|
||||||
|
done
|
||||||
|
sort -u source/greylist | uniq > source/greylist.txt
|
||||||
|
|
||||||
|
%install
|
||||||
|
export INSTALL_MOD_PATH=$RPM_BUILD_ROOT
|
||||||
|
export INSTALL_MOD_DIR=extra/%{name}
|
||||||
|
make -C %{kernel_source} modules_install V=1 \
|
||||||
|
M=$PWD/obj/%{kmod_kbuild_dir}
|
||||||
|
# Cleanup unnecessary kernel-generated module dependency files.
|
||||||
|
find $INSTALL_MOD_PATH/lib/modules -iname 'modules.*' -exec rm {} \;
|
||||||
|
|
||||||
|
install -m 644 -D source/depmod.conf $RPM_BUILD_ROOT/etc/depmod.d/%{kmod_name}.conf
|
||||||
|
install -m 644 -D source/greylist.txt $RPM_BUILD_ROOT/usr/share/doc/kmod-%{kmod_name}/greylist.txt
|
||||||
|
|
||||||
|
%clean
|
||||||
|
rm -rf $RPM_BUILD_ROOT
|
||||||
|
|
||||||
|
%changelog
|
||||||
|
* Wed May 22 2024 - Chung Chung <cchung@redhat.com> - 8.2.3.3-125.el9
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: RHEL-30884
|
||||||
|
|
||||||
|
* Wed May 15 2024 - Chung Chung <cchung@redhat.com> - 8.2.3.3-124.el9
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: RHEL-30884
|
||||||
|
|
||||||
|
* Tue May 07 2024 - Susan LeGendre-McGhee <slegendr@redhat.com> - 8.2.3.3-123.el9
|
||||||
|
- Add temporary patch to correct build failures.
|
||||||
|
- Related: RHEL-30884
|
||||||
|
|
||||||
|
* Mon May 06 2024 - Susan LeGendre-McGhee <slegendr@redhat.com> - 8.2.3.3-123.el9
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: RHEL-30884
|
||||||
|
|
||||||
|
* Tue Apr 30 2024 - Susan LeGendre-McGhee <slegendr@redhat.com> - 8.2.3.3-122.el9
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: RHEL-30884
|
||||||
|
|
||||||
|
* Mon Apr 29 2024 - Susan LeGendre-McGhee <slegendr@redhat.com> - 8.2.3.3-121.el9
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: RHEL-30884
|
||||||
|
|
||||||
|
* Thu Apr 25 2024 - Susan LeGendre-McGhee <slegendr@redhat.com> - 8.2.3.3-120.el9
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: RHEL-30884
|
||||||
|
|
||||||
|
* Tue Apr 23 2024 - Susan LeGendre-McGhee <slegendr@redhat.com> - 8.2.3.3-119.el9
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: RHEL-30884
|
||||||
|
|
||||||
|
* Tue Apr 02 2024 - Susan LeGendre-McGhee <slegendr@redhat.com> - 8.2.3.3-118.el9
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: RHEL-30884
|
||||||
|
|
||||||
|
* Wed Feb 14 2024 - Susan LeGendre-McGhee <slegendr@redhat.com> - 8.2.3.3-117.el9
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: RHEL-11426
|
||||||
|
|
||||||
|
* Mon Feb 12 2024 - Susan LeGendre-McGhee <slegendr@redhat.com> - 8.2.3.3-116.el9
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: RHEL-11426
|
||||||
|
|
||||||
|
* Tue Jan 23 2024 - Chung Chung <cchung@redhat.com> - 8.2.3.3-115.el9
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: RHEL-11426
|
||||||
|
|
||||||
|
* Fri Jan 19 2024 - Chung Chung <cchung@redhat.com> - 8.2.3.3-114.el9
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: RHEL-11426
|
||||||
|
|
||||||
|
* Thu Jan 18 2024 - Chung Chung <cchung@redhat.com> - 8.2.3.3-113.el9
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: RHEL-11426
|
||||||
|
|
||||||
|
* Mon Jan 15 2024 - Chung Chung <cchung@redhat.com> - 8.2.3.3-112.el9
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: RHEL-11426
|
||||||
|
|
||||||
|
* Tue Jan 09 2024 - Chung Chung <cchung@redhat.com> - 8.2.3.3-111.el9
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: RHEL-11426
|
||||||
|
|
||||||
|
* Wed Jan 03 2024 - Chung Chung <cchung@redhat.com> - 8.2.3.3-110.el9
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: RHEL-11426
|
||||||
|
|
||||||
|
* Tue Dec 19 2023 - Susan LeGendre-McGhee <slegendr@redhat.com> - 8.2.3.3-109.el9
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: RHEL-11426
|
||||||
|
|
||||||
|
* Wed Dec 06 2023 - Susan LeGendre-McGhee <slegendr@redhat.com> - 8.2.3.3-108.el9
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: RHEL-11426
|
||||||
|
|
||||||
|
* Tue Dec 05 2023 - Susan LeGendre-McGhee <slegendr@redhat.com> - 8.2.3.3-107.el9
|
||||||
|
- Revert previous changes and add kernel-64k as a conflict.
|
||||||
|
- Resolves: RHEL-8354
|
||||||
|
|
||||||
|
* Tue Nov 28 2023 - Susan LeGendre-McGhee <slegendr@redhat.com> - 8.2.3.3-106.el9
|
||||||
|
- Modify to accommodate kernel-64k packages.
|
||||||
|
- Resolves: RHEL-8354
|
||||||
|
|
||||||
|
* Mon Nov 27 2023 - Susan LeGendre-McGhee <slegendr@redhat.com> - 8.2.3.3-105.el9
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: RHEL-11426
|
||||||
|
|
||||||
|
* Mon Nov 20 2023 - Susan LeGendre-McGhee <slegendr@redhat.com> - 8.2.3.3-104.el9
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: RHEL-11426
|
||||||
|
|
||||||
|
* Mon Nov 13 2023 - Susan LeGendre-McGhee <slegendr@redhat.com> - 8.2.3.3-103.el9
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: RHEL-11426
|
||||||
|
|
||||||
|
* Fri Nov 03 2023 - Susan LeGendre-McGhee <slegendr@redhat.com> - 8.2.3.3-102.el9
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: RHEL-11426
|
||||||
|
|
||||||
|
* Thu Oct 26 2023 - Susan LeGendre-McGhee <slegendr@redhat.com> - 8.2.3.3-101.el9
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: RHEL-11426
|
||||||
|
|
||||||
|
* Fri Oct 20 2023 - Susan LeGendre-McGhee <slegendr@redhat.com> - 8.2.3.3-100.el9
|
||||||
|
- Adapted to backported kernel changes.
|
||||||
|
- Resolves: RHEL-11975
|
||||||
|
|
||||||
|
* Tue Oct 10 2023 - Susan LeGendre-McGhee <slegendr@redhat.com> - 8.2.1.6-100.el9
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: RHEL-11426
|
||||||
|
|
||||||
|
* Fri Oct 06 2023 - Susan LeGendre-McGhee <slegendr@redhat.com> - 8.2.1.6-99.el9
|
||||||
|
- Added temporary patch file to correct build failures regarding io-factory.c
|
||||||
|
- Related: RHEL-11426
|
||||||
|
|
||||||
|
* Fri Oct 06 2023 - Susan LeGendre-McGhee <slegendr@redhat.com> - 8.2.1.6-99.el9
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: RHEL-11426
|
||||||
|
|
||||||
|
* Thu Aug 24 2023 - Susan LeGendre-McGhee <slegendr@redhat.com> - 8.2.1.6-98.el9
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: rhbz#2172911
|
||||||
|
|
||||||
|
* Mon Jul 31 2023 - Susan LeGendre-McGhee <slegendr@redhat.com> - 8.2.1.6-97.el9
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: rhbz#2172911
|
||||||
|
|
||||||
|
* Fri Jul 21 2023 - Susan LeGendre-McGhee <slegendr@redhat.com> - 8.2.1.6-96.el9
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: rhbz#2172911
|
||||||
|
|
||||||
|
* Tue Jul 18 2023 - Susan LeGendre-McGhee <slegendr@redhat.com> - 8.2.1.6-95.el9
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: rhbz#2172911
|
||||||
|
|
||||||
|
* Wed Jul 12 2023 - Susan LeGendre-McGhee <slegendr@redhat.com> - 8.2.1.6-94.el9
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: rhbz#2172911
|
||||||
|
|
||||||
|
* Wed Jul 05 2023 - Susan LeGendre-McGhee <slegendr@redhat.com> - 8.2.1.6-93.el9
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: rhbz#2172911
|
||||||
|
|
||||||
|
* Tue Jun 27 2023 - Susan LeGendre-McGhee <slegendr@redhat.com> - 8.2.1.6-92.el9
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: rhbz#2172911
|
||||||
|
|
||||||
|
* Tue Jun 20 2023 - Susan LeGendre-McGhee <slegendr@redhat.com> - 8.2.1.6-91.el9
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: rhbz#2172911
|
||||||
|
|
||||||
|
* Wed Jun 14 2023 - Susan LeGendre-McGhee <slegendr@redhat.com> - 8.2.1.6-90.el9
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: rhbz#2172911
|
||||||
|
|
||||||
|
* Mon Jun 12 2023 - Susan LeGendre-McGhee <slegendr@redhat.com> - 8.2.1.6-89.el9
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: rhbz#2172911
|
||||||
|
|
||||||
|
* Tue May 30 2023 - Susan LeGendre-McGhee <slegendr@redhat.com> - 8.2.1.6-88.el9
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: rhbz#2172911
|
||||||
|
|
||||||
|
* Tue May 23 2023 - Susan LeGendre-McGhee <slegendr@redhat.com> - 8.2.1.6-87.el9
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: rhbz#2172911
|
||||||
|
|
||||||
|
* Fri May 19 2023 - Susan LeGendre-McGhee <slegendr@redhat.com> - 8.2.1.6-86.el9
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: rhbz#2172911
|
||||||
|
|
||||||
|
* Wed May 17 2023 - Susan LeGendre-McGhee <slegendr@redhat.com> - 8.2.1.6-85.el9
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: rhbz#2172911
|
||||||
|
|
||||||
|
* Thu May 11 2023 - Susan LeGendre-McGhee <slegendr@redhat.com> - 8.2.1.6-84.el9
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: rhbz#2172911
|
||||||
|
|
||||||
|
* Thu May 04 2023 - Susan LeGendre-McGhee <slegendr@redhat.com> - 8.2.1.6-83.el9
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: rhbz#2172911
|
||||||
|
|
||||||
|
* Mon May 01 2023 - Susan LeGendre-McGhee <slegendr@redhat.com> - 8.2.1.6-82.el9
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: rhbz#2172911
|
||||||
|
|
||||||
|
* Tue Apr 25 2023 - Susan LeGendre-McGhee <slegendr@redhat.com> - 8.2.1.6-81.el9
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: rhbz#2172911
|
||||||
|
|
||||||
|
* Fri Apr 14 2023 - Susan LeGendre-McGhee <slegendr@redhat.com> - 8.2.1.6-80.el9
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: rhbz#2172911
|
||||||
|
|
||||||
|
* Tue Apr 11 2023 - Susan LeGendre-McGhee <slegendr@redhat.com> - 8.2.1.6-79.el9
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: rhbz#2172911
|
||||||
|
|
||||||
|
* Mon Apr 03 2023 - Susan LeGendre-McGhee <slegendr@redhat.com> - 8.2.1.6-78.el9
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: rhbz#2172911
|
||||||
|
|
||||||
|
* Thu Mar 30 2023 - Susan LeGendre-McGhee <slegendr@redhat.com> - 8.2.1.6-77.el9
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: rhbz#2172911
|
||||||
|
|
||||||
|
* Mon Mar 20 2023 - Susan LeGendre-McGhee <slegendr@redhat.com> - 8.2.1.6-76.el9
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: rhbz#2172911
|
||||||
|
|
||||||
|
* Mon Mar 13 2023 - Susan LeGendre-McGhee <slegendr@redhat.com> - 8.2.1.6-75.el9
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: rhbz#2172911
|
||||||
|
|
||||||
|
* Mon Feb 27 2023 - Susan LeGendre-McGhee <slegendr@redhat.com> - 8.2.1.6-74.el9
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: rhbz#2119820
|
||||||
|
|
||||||
|
* Tue Feb 21 2023 - Susan LeGendre-McGhee <slegendr@redhat.com> - 8.2.1.6-73.el9
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: rhbz#2119820
|
||||||
|
|
||||||
|
* Tue Feb 14 2023 - Susan LeGendre-McGhee <slegendr@redhat.com> - 8.2.1.6-72.el9
|
||||||
|
- Fixed bug in read-only rebuild when the logical size of the volume is an
|
||||||
|
exact multiple of 821 4K blocks.
|
||||||
|
- Resolves: rhbz#2166132
|
||||||
|
|
||||||
|
* Thu Feb 09 2023 - Susan LeGendre-McGhee <slegendr@redhat.com> - 8.2.1.3-72.el9
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: rhbz#2119820
|
||||||
|
|
||||||
|
* Wed Feb 01 2023 - Susan LeGendre-McGhee <slegendr@redhat.com> - 8.2.1.3-71.el9
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: rhbz#2119820
|
||||||
|
|
||||||
|
* Mon Jan 30 2023 - Susan LeGendre-McGhee <slegendr@redhat.com> - 8.2.1.3-70.el9
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: rhbz#2119820
|
||||||
|
|
||||||
|
* Mon Jan 23 2023 - Susan LeGendre-McGhee <slegendr@redhat.com> - 8.2.1.3-69.el9
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: rhbz#2119820
|
||||||
|
|
||||||
|
* Fri Jan 13 2023 - Susan LeGendre-McGhee <slegendr@redhat.com> - 8.2.1.3-68.el9
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: rhbz#2119820
|
||||||
|
|
||||||
|
* Fri Jan 13 2023 - Susan LeGendre-McGhee <slegendr@redhat.com> - 8.2.1.3-67.el9
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: rhbz#2119820
|
||||||
|
|
||||||
|
* Wed Jan 04 2023 - Susan LeGendre-McGhee <slegendr@redhat.com> - 8.2.1.3-66.el9
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: rhbz#2119820
|
||||||
|
|
||||||
|
* Thu Dec 22 2022 - Susan LeGendre-McGhee <slegendr@redhat.com> - 8.2.1.3-65.el9_2
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: rhbz#2119820
|
||||||
|
|
||||||
|
* Thu Dec 15 2022 - Susan LeGendre-McGhee <slegendr@redhat.com> - 8.2.1.3-64.el9_2
|
||||||
|
- Added a check for 0 length table line arguments.
|
||||||
|
- Resolves: rhbz#2142084
|
||||||
|
|
||||||
|
* Mon Dec 12 2022 - Susan LeGendre-McGhee <slegendr@redhat.com> - 8.2.1.2-64.el9_2
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: rhbz#2119820
|
||||||
|
|
||||||
|
* Wed Dec 07 2022 - Susan LeGendre-McGhee <slegendr@redhat.com> - 8.2.1.2-63.el9_2
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: rhbz#2119820
|
||||||
|
|
||||||
|
* Mon Nov 28 2022 - Susan LeGendre-McGhee <slegendr@redhat.com> - 8.2.1.2-62.el9_2
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: rhbz#2119820
|
||||||
|
|
||||||
|
* Tue Nov 22 2022 - Susan LeGendre-McGhee <slegendr@redhat.com> - 8.2.1.2-61.el9_2
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: rhbz#2119820
|
||||||
|
|
||||||
|
* Fri Nov 18 2022 - Susan LeGendre-McGhee <slegendr@redhat.com> - 8.2.1.2-60.el9_2
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: rhbz#2119820
|
||||||
|
|
||||||
|
* Tue Nov 15 2022 - Susan LeGendre-McGhee <slegendr@redhat.com> - 8.2.1.2-59.el9_2
|
||||||
|
- Adapted to backported kernel changes.
|
||||||
|
- Resolves: rhbz#2139179
|
||||||
|
|
||||||
|
* Fri Nov 11 2022 - Susan LeGendre-McGhee <slegendr@redhat.com> - 8.2.0.18-59.el9_2
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: rhbz#2119820
|
||||||
|
|
||||||
|
* Wed Nov 9 2022 - Susan LeGendre-McGhee <slegendr@redhat.com> - 8.2.0.18-58.el9_2
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: rhbz#2119820
|
||||||
|
|
||||||
|
* Tue Nov 8 2022 - Susan LeGendre-McGhee <slegendr@redhat.com> - 8.2.0.18-57.el9_2
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: RHELPLAN-131751
|
||||||
|
|
||||||
|
* Mon Nov 7 2022 - Susan LeGendre-McGhee <slegendr@redhat.com> - 8.2.0.18-56.el9_2
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: rhbz#2119820
|
||||||
|
|
||||||
|
* Thu Nov 3 2022 - Susan LeGendre-McGhee <slegendr@redhat.com> - 8.2.0.18-55.el9_2
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: rhbz#2119820
|
||||||
|
|
||||||
|
* Mon Oct 31 2022 - Susan LeGendre-McGhee <slegendr@redhat.com> - 8.2.0.18-54.el9_2
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: rhbz#2119820
|
||||||
|
|
||||||
|
* Thu Oct 27 2022 - Susan LeGendre-McGhee <slegendr@redhat.com> - 8.2.0.18-53.el9_2
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: rhbz#2119820
|
||||||
|
|
||||||
|
* Wed Oct 26 2022 - Susan LeGendre-McGhee <slegendr@redhat.com> - 8.2.0.18-52.el9_2
|
||||||
|
- Temporarily patched to remove bdevname usage and correct build failure.
|
||||||
|
- Related: rhbz#2119820
|
||||||
|
|
||||||
|
* Wed Oct 26 2022 - Susan LeGendre-McGhee <slegendr@redhat.com> - 8.2.0.18-52.el9_2
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: rhbz#2119820
|
||||||
|
|
||||||
|
* Mon Oct 17 2022 - Susan LeGendre-McGhee <slegendr@redhat.com> - 8.2.0.18-51.el9_2
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: rhbz#2119820
|
||||||
|
|
||||||
|
* Wed Oct 12 2022 - Susan LeGendre-McGhee <slegendr@redhat.com> - 8.2.0.18-50.el9_2
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: rhbz#2119820
|
||||||
|
|
||||||
|
* Wed Sep 28 2022 - Susan LeGendre-McGhee <slegendr@redhat.com> - 8.2.0.18-49.el9_2
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: rhbz#2119820
|
||||||
|
|
||||||
|
* Fri Sep 23 2022 - Susan LeGendre-McGhee <slegendr@redhat.com> - 8.2.0.18-48.el9_2
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: rhbz#2119820
|
||||||
|
|
||||||
|
* Mon Sep 19 2022 - Susan LeGendre-McGhee <slegendr@redhat.com> - 8.2.0.18-47.el9_2
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: rhbz#2119820
|
||||||
|
- Adjust scriplets that use /var/lib to use /usr/lib for ostree environments.
|
||||||
|
- Resolves: rhbz#2105013
|
||||||
|
|
||||||
|
* Tue Sep 13 2022 - Andy Walsh <awalsh@redhat.com> - 8.2.0.18-46.el9_2
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: rhbz#2119820
|
||||||
|
|
||||||
|
* Wed Aug 24 2022 - Andy Walsh <awalsh@redhat.com> - 8.2.0.18-46
|
||||||
|
- Temporarily dropped a check that validates the logical size specified from
|
||||||
|
the table line.
|
||||||
|
- Related: rhbz#2071648
|
||||||
|
|
||||||
|
* Tue Aug 23 2022 - Andy Walsh <awalsh@redhat.com> - 8.2.0.18-45
|
||||||
|
- Fixed a race handling timeouts of dedupe requests.
|
||||||
|
- Resolves: rhbz#2115504
|
||||||
|
|
||||||
|
* Tue Aug 23 2022 - Susan LeGendre-McGhee <slegendr@redhat.com> - 8.2.0.2-45
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: rhbz#2060486
|
||||||
|
|
||||||
|
* Thu Aug 18 2022 - Susan LeGendre-McGhee <slegendr@redhat.com> - 8.2.0.2-44
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: rhbz#2060486
|
||||||
|
|
||||||
|
* Wed Aug 10 2022 - Chung Chung <cchung@redhat.com> - 8.2.0.2-43
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: rhbz#2060486
|
||||||
|
|
||||||
|
* Wed Jul 27 2022 - Andy Walsh <awalsh@redhat.com> - 8.2.0.2-42
|
||||||
|
- Added missing lz4 libs to rebased code
|
||||||
|
- Resolves: rhbz#2071648
|
||||||
|
|
||||||
|
* Tue Jul 19 2022 - Andy Walsh <awalsh@redhat.com> - 8.2.0.2-41
|
||||||
|
- Rebased to latest upstream candidate.
|
||||||
|
- Resolves: rhbz#2071648
|
||||||
|
|
||||||
|
* Sat Jul 16 2022 - Susan LeGendre-McGhee <slegendr@redhat.com> - 8.1.1.371-41
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: rhbz#2060486
|
||||||
|
|
||||||
|
* Fri Jul 15 2022 - Susan LeGendre-McGhee <slegendr@redhat.com> - 8.1.1.371-40
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: rhbz#2060486
|
||||||
|
|
||||||
|
* Mon Jul 11 2022 - Chung Chung <cchung@redhat.com> - 8.1.1.371-39
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: rhbz#2060486
|
||||||
|
|
||||||
|
* Tue Jul 05 2022 - Chung Chung <cchung@redhat.com> - 8.1.1.371-38
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: rhbz#2060486
|
||||||
|
|
||||||
|
* Mon Jul 04 2022 - Chung Chung <cchung@redhat.com> - 8.1.1.371-37
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: rhbz#2060486
|
||||||
|
|
||||||
|
* Tue Jun 28 2022 - Susan LeGendre-McGhee <slegendr@redhat.com> - 8.1.1.371-36
|
||||||
|
- TEMPORARY FIX to correct build failures regarding bio_reset(), __bio_clone_fast(), and bio_init().
|
||||||
|
- Related: rhbz#2060486
|
||||||
|
|
||||||
|
* Tue Jun 28 2022 - Susan LeGendre-McGhee <slegendr@redhat.com> - 8.1.1.371-36
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: rhbz#2060486
|
||||||
|
|
||||||
|
* Sun Jun 26 2022 - Chung Chung <cchung@redhat.com> - 8.1.1.371-35
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: rhbz#2060486
|
||||||
|
|
||||||
|
* Wed Jun 15 2022 - Andy Walsh <awalsh@redhat.com> - 8.1.1.371-34
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: rhbz#2060486
|
||||||
|
|
||||||
|
* Tue Jun 07 2022 - Andy Walsh <awalsh@redhat.com> - 8.1.1.371-33
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: rhbz#2060486
|
||||||
|
|
||||||
|
* Wed Jun 01 2022 - Andy Walsh <awalsh@redhat.com> - 8.1.1.371-32
|
||||||
|
- Rebased to newer version.
|
||||||
|
- Related: rhbz#2071648
|
||||||
|
|
||||||
|
* Tue May 31 2022 - Andy Walsh <awalsh@redhat.com> - 8.1.1.360-32
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: rhbz#2060486
|
||||||
|
|
||||||
|
* Sat May 28 2022 - Andy Walsh <awalsh@redhat.com> - 8.1.1.360-31
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: rhbz#2060486
|
||||||
|
|
||||||
|
* Mon May 23 2022 - Andy Walsh <awalsh@redhat.com> - 8.1.1.360-30
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: rhbz#2060486
|
||||||
|
|
||||||
|
* Mon May 16 2022 - Andy Walsh <awalsh@redhat.com> - 8.1.1.360-29
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: rhbz#2060486
|
||||||
|
|
||||||
|
* Fri May 13 2022 - Andy Walsh <awalsh@redhat.com> - 8.1.1.360-28
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: rhbz#2060486
|
||||||
|
|
||||||
|
* Thu May 12 2022 - Andy Walsh <awalsh@redhat.com> - 8.1.1.360-27
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: rhbz#2060486
|
||||||
|
|
||||||
|
* Tue May 10 2022 - Andy Walsh <awalsh@redhat.com> - 8.1.1.360-26
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: rhbz#2060486
|
||||||
|
|
||||||
|
* Sat May 07 2022 - Andy Walsh <awalsh@redhat.com> - 8.1.1.360-25
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: rhbz#2060486
|
||||||
|
|
||||||
|
* Thu May 05 2022 - Andy Walsh <awalsh@redhat.com> - 8.1.1.360-24
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: rhbz#2060486
|
||||||
|
|
||||||
|
* Wed May 04 2022 - Andy Walsh <awalsh@redhat.com> - 8.1.1.360-23
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: rhbz#2060486
|
||||||
|
|
||||||
|
* Fri Apr 29 2022 - Andy Walsh <awalsh@redhat.com> - 8.1.1.360-22
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: rhbz#2060486
|
||||||
|
|
||||||
|
* Fri Apr 22 2022 - Andy Walsh <awalsh@redhat.com> - 8.1.1.360-21
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: rhbz#2060486
|
||||||
|
|
||||||
|
* Thu Apr 21 2022 - Andy Walsh <awalsh@redhat.com> - 8.1.1.360-20
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: rhbz#2060486
|
||||||
|
|
||||||
|
* Wed Apr 13 2022 - Andy Walsh <awalsh@redhat.com> - 8.1.1.360-19
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: rhbz#2060486
|
||||||
|
|
||||||
|
* Mon Apr 11 2022 - Andy Walsh <awalsh@redhat.com> - 8.1.1.360-18
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: rhbz#2060486
|
||||||
|
|
||||||
|
* Mon Mar 28 2022 - Andy Walsh <awalsh@redhat.com> - 8.1.1.360-17
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: rhbz#2060486
|
||||||
|
|
||||||
|
* Mon Mar 21 2022 - Andy Walsh <awalsh@redhat.com> - 8.1.1.360-16
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: rhbz#2060486
|
||||||
|
|
||||||
|
* Mon Feb 28 2022 - Andy Walsh <awalsh@redhat.com> - 8.1.1.360-15
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: rhbz#2000926
|
||||||
|
|
||||||
|
* Mon Feb 21 2022 - Andy Walsh <awalsh@redhat.com> - 8.1.1.360-14
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: rhbz#2000926
|
||||||
|
|
||||||
|
* Wed Feb 16 2022 - Andy Walsh <awalsh@redhat.com> - 8.1.1.360-13
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: rhbz#2000926
|
||||||
|
|
||||||
|
* Sat Feb 12 2022 - Andy Walsh <awalsh@redhat.com> - 8.1.1.360-12
|
||||||
|
- Fixed a compilation issue due to changes in stdarg.h.
|
||||||
|
- Resolves: rhbz#2035003
|
||||||
|
- Modified the UDS index to handle backing store changes while suspended.
|
||||||
|
- Resolves: rhbz#2007803
|
||||||
|
- Fixed a bug which prevented the resumption of a suspended read-only vdo.
|
||||||
|
- Resolves: rhbz#2004206
|
||||||
|
|
||||||
|
* Thu Feb 03 2022 - Andy Walsh <awalsh@redhat.com> - 8.1.1.287-12
|
||||||
|
- Adjusted kernel dependencies to grab the right packages.
|
||||||
|
- Resolves: rhbz#2022464
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: rhbz#2000926
|
||||||
|
|
||||||
|
* Mon Jan 31 2022 - Andy Walsh <awalsh@redhat.com> - 8.1.1.287-11
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: rhbz#2000926
|
||||||
|
|
||||||
|
* Sun Jan 23 2022 - Andy Walsh <awalsh@redhat.com> - 8.1.1.287-10
|
||||||
|
- Eliminated uses of "master" as part of the conscious language initiative.
|
||||||
|
- Resolves: rhbz#2023970
|
||||||
|
- Fixed potential use-after-free error found by Coverity.
|
||||||
|
- Resolves: rhbz#1999056
|
||||||
|
- Fixed bug which could result in empty flushes being issued to the storage
|
||||||
|
below vdo while suspended.
|
||||||
|
- Resolves: rhbz#2013057
|
||||||
|
- Added optional table line parameters for enabling or disabling
|
||||||
|
deduplication and compression.
|
||||||
|
- Resolves: rhbz#2007444
|
||||||
|
- Adapted to kernel API changes.
|
||||||
|
- Resolves: rhbz#2035003
|
||||||
|
|
||||||
|
* Thu Jan 06 2022 - Andy Walsh <awalsh@redhat.com> - 8.1.0.316-10
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: rhbz#2000926
|
||||||
|
- Temporarily disabled creation of sysfs nodes.
|
||||||
|
- Related: rhbz#2035003
|
||||||
|
|
||||||
|
* Sun Dec 19 2021 - Andy Walsh <awalsh@redhat.com> - 8.1.0.316-9
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: rhbz#2000926
|
||||||
|
- Stopped using bvec_kmap_irq as it has been removed.
|
||||||
|
- Removed usage of removed elevator constants
|
||||||
|
- Resolves: rhbz#2035003
|
||||||
|
|
||||||
|
* Wed Dec 15 2021 - Andy Walsh <awalsh@redhat.com> - 8.1.0.316-8
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: rhbz#2000926
|
||||||
|
|
||||||
|
* Tue Dec 07 2021 - Andy Walsh <awalsh@redhat.com> - 8.1.0.316-7
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: rhbz#2000926
|
||||||
|
|
||||||
|
* Tue Dec 07 2021 - Andy Walsh <awalsh@redhat.com> - 8.1.0.316-6
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: rhbz#2000926
|
||||||
|
|
||||||
|
* Thu Nov 11 2021 - Andy Walsh <awalsh@redhat.com> - 8.1.0.316-5
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: rhbz#2000926
|
||||||
|
|
||||||
|
* Wed Oct 13 2021 - Andy Walsh <awalsh@redhat.com> - 8.1.0.316-4
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: rhbz#2000926
|
||||||
|
|
||||||
|
* Thu Sep 30 2021 - Andy Walsh <awalsh@redhat.com> - 8.1.0.316-3
|
||||||
|
- Rebuilt for latest kernel.
|
||||||
|
- Related: rhbz#2000926
|
||||||
|
|
||||||
|
* Mon Aug 09 2021 - Andy Walsh <awalsh@redhat.com> - 8.1.0.316-2
|
||||||
|
- Rebased to upstream candidate.
|
||||||
|
- Resolves: rhbz#1955374
|
||||||
|
|
||||||
|
* Mon Aug 09 2021 Mohan Boddu <mboddu@redhat.com> - 8.1.0.316-1.1
|
||||||
|
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
|
||||||
|
Related: rhbz#1991688
|
||||||
|
|
||||||
|
* Sat Aug 07 2021 - Andy Walsh <awalsh@redhat.com> - 8.1.0.316-1
|
||||||
|
- Rebased to upstream candidate.
|
||||||
|
- Resolves: rhbz#1955374
|
||||||
|
|
||||||
|
* Thu Jul 29 2021 - Andy Walsh <awalsh@redhat.com> - 8.1.0.264-1
|
||||||
|
- Rebased to upstream candidate.
|
||||||
|
- Related: rhbz#1955374
|
||||||
|
- Fixed GCC implicit-fallthrough errors when building for latest kernel
|
||||||
|
- Resolves: rhbz#1984814
|
||||||
|
|
||||||
|
* Tue May 04 2021 - Andy Walsh <awalsh@redhat.com> - 8.1.0.4-1
|
||||||
|
- Initial build for EL9
|
||||||
|
- Related: rhbz#1955374
|
|
@ -0,0 +1,34 @@
|
||||||
|
From 8fb4ef85097e7b46cb3604612a49e480efd4465a Mon Sep 17 00:00:00 2001
|
||||||
|
From: Andrew Walsh <awalsh@redhat.com>
|
||||||
|
Date: Wed, 24 Aug 2022 12:00:12 -0400
|
||||||
|
Subject: [PATCH] Removed logical space check from table line.
|
||||||
|
|
||||||
|
Until the LVM tooling can be updated to use accurate sizes, this check
|
||||||
|
can't be implemented.
|
||||||
|
|
||||||
|
Signed-off-by: Andrew Walsh <awalsh@redhat.com>
|
||||||
|
---
|
||||||
|
vdo/vdo-component.c | 7 -------
|
||||||
|
1 file changed, 7 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/vdo/vdo-component.c b/vdo/vdo-component.c
|
||||||
|
index ac1ac1f7..50ba438b 100644
|
||||||
|
--- a/vdo/vdo-component.c
|
||||||
|
+++ b/vdo/vdo-component.c
|
||||||
|
@@ -303,13 +303,6 @@ int vdo_validate_config(const struct vdo_config *config,
|
||||||
|
if (result != UDS_SUCCESS) {
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
-
|
||||||
|
- if (logical_block_count != config->logical_blocks) {
|
||||||
|
- uds_log_error("A logical size of %llu blocks was specified, but that differs from the %llu blocks configured in the vdo super block",
|
||||||
|
- (unsigned long long) logical_block_count,
|
||||||
|
- (unsigned long long) config->logical_blocks);
|
||||||
|
- return VDO_PARAMETER_MISMATCH;
|
||||||
|
- }
|
||||||
|
}
|
||||||
|
|
||||||
|
result = ASSERT(config->logical_blocks <= MAXIMUM_VDO_LOGICAL_BLOCKS,
|
||||||
|
--
|
||||||
|
2.37.1
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
SHA512 (kvdo-c6254c6.tar.gz) = 262fb5f8b6b4ca31e06b4816b41a225a05a8058d77dd72fb6b93f32352697487e4120876698bba76bf3cf899ce2db7ad83bd4aa09b1067ea8aec50fc2c9545d6
|
|
@ -0,0 +1 @@
|
||||||
|
1
|
|
@ -0,0 +1,4 @@
|
||||||
|
---
|
||||||
|
standard-inventory-qcow2:
|
||||||
|
qemu:
|
||||||
|
m: 4G
|
|
@ -0,0 +1,62 @@
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
#
|
||||||
|
# Makefile of /kernel/test_beakertask/Sanity/beaker_test
|
||||||
|
# Description: Install VDO
|
||||||
|
#
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
#
|
||||||
|
# Copyright (c) 2018 Red Hat, Inc.
|
||||||
|
#
|
||||||
|
# This program is free software: you can redistribute it and/or
|
||||||
|
# modify it under the terms of the GNU General Public License as
|
||||||
|
# published by the Free Software Foundation, either version 2 of
|
||||||
|
# the License, or (at your option) any later version.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be
|
||||||
|
# useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||||
|
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||||
|
# PURPOSE. See the GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with this program. If not, see http://www.gnu.org/licenses/.
|
||||||
|
#
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
export TEST=/beaker_test
|
||||||
|
export TESTVERSION=1.0
|
||||||
|
|
||||||
|
BUILT_FILES=
|
||||||
|
|
||||||
|
FILES=$(METADATA) runtest.sh Makefile PURPOSE
|
||||||
|
|
||||||
|
.PHONY: all install download clean
|
||||||
|
|
||||||
|
run: $(FILES) build
|
||||||
|
./runtest.sh
|
||||||
|
|
||||||
|
build: $(BUILT_FILES)
|
||||||
|
test -x runtest.sh || chmod a+x runtest.sh
|
||||||
|
|
||||||
|
clean:
|
||||||
|
rm -f *~ $(BUILT_FILES)
|
||||||
|
|
||||||
|
|
||||||
|
include /usr/share/rhts/lib/rhts-make.include
|
||||||
|
|
||||||
|
$(METADATA): Makefile
|
||||||
|
@echo "Owner: Andy Walsh <awalsh@redhat.com>" > $(METADATA)
|
||||||
|
@echo "Name: $(TEST)" >> $(METADATA)
|
||||||
|
@echo "TestVersion: $(TESTVERSION)" >> $(METADATA)
|
||||||
|
@echo "Path: $(TEST_DIR)" >> $(METADATA)
|
||||||
|
@echo "Description: Loads VDO kernel modules" >> $(METADATA)
|
||||||
|
@echo "Type: Sanity" >> $(METADATA)
|
||||||
|
@echo "TestTime: 5m" >> $(METADATA)
|
||||||
|
@echo "RunFor: test_beakertask" >> $(METADATA)
|
||||||
|
@echo "Requires: test_beakertask" >> $(METADATA)
|
||||||
|
@echo "Priority: Normal" >> $(METADATA)
|
||||||
|
@echo "License: GPLv2+" >> $(METADATA)
|
||||||
|
@echo "Confidential: no" >> $(METADATA)
|
||||||
|
@echo "Destructive: no" >> $(METADATA)
|
||||||
|
@echo "Releases: -RHEL4 -RHELClient5 -RHELServer5" >> $(METADATA)
|
||||||
|
|
||||||
|
rhts-lint $(METADATA)
|
|
@ -0,0 +1,3 @@
|
||||||
|
PURPOSE Test the kmod-kvdo packaged drivers
|
||||||
|
Description: Load the VDO modules into the kernel.
|
||||||
|
Author: Andy Walsh <awalsh@redhat.com>
|
|
@ -0,0 +1,57 @@
|
||||||
|
#!/bin/bash
|
||||||
|
# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
#
|
||||||
|
# runtest.sh of kmod-kvdo/sanity
|
||||||
|
# Description: Checking that the kmod-kvdo kernel modules can be loaded.
|
||||||
|
# Author: Andy Walsh <awalsh@redhat.com>
|
||||||
|
#
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
#
|
||||||
|
# Copyright (c) 2019 Red Hat, Inc.
|
||||||
|
#
|
||||||
|
# This program is free software: you can redistribute it and/or
|
||||||
|
# modify it under the terms of the GNU General Public License as
|
||||||
|
# published by the Free Software Foundation, either version 2 of
|
||||||
|
# the License, or (at your option) any later version.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be
|
||||||
|
# useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||||
|
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||||
|
# PURPOSE. See the GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with this program. If not, see http://www.gnu.org/licenses/.
|
||||||
|
#
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
# Include Beaker environment
|
||||||
|
. /usr/bin/rhts-environment.sh || exit 1
|
||||||
|
. /usr/share/beakerlib/beakerlib.sh || exit 1
|
||||||
|
|
||||||
|
rlJournalStart
|
||||||
|
rlPhaseStartSetup
|
||||||
|
# Collect information
|
||||||
|
rlLog "uname: $(uname -a)"
|
||||||
|
rlPhaseEnd
|
||||||
|
|
||||||
|
rlPhaseStartTest "Confirm kvdo module is installed"
|
||||||
|
rlRun "find /lib/modules -type f -name kvdo.ko"
|
||||||
|
rlPhaseEnd
|
||||||
|
|
||||||
|
rlPhaseStartTest "Validate module information"
|
||||||
|
rlRun "modinfo -l kvdo"
|
||||||
|
rlPhaseEnd
|
||||||
|
|
||||||
|
rlPhaseStartTest "Confirm the kvdo module can be loaded"
|
||||||
|
rlRun "modprobe kvdo"
|
||||||
|
rlRun "lsmod | grep kvdo"
|
||||||
|
rlPhaseEnd
|
||||||
|
|
||||||
|
rlPhaseStartCleanup "Unload the kvdo module"
|
||||||
|
rlRun "modprobe -r kvdo"
|
||||||
|
rlPhaseEnd
|
||||||
|
|
||||||
|
rlJournalPrintText
|
||||||
|
rlJournalEnd
|
||||||
|
|
|
@ -0,0 +1,62 @@
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
#
|
||||||
|
# Makefile of /kernel/test_beakertask/Sanity/beaker_test
|
||||||
|
# Description: Install VDO
|
||||||
|
#
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
#
|
||||||
|
# Copyright (c) 2018 Red Hat, Inc.
|
||||||
|
#
|
||||||
|
# This program is free software: you can redistribute it and/or
|
||||||
|
# modify it under the terms of the GNU General Public License as
|
||||||
|
# published by the Free Software Foundation, either version 2 of
|
||||||
|
# the License, or (at your option) any later version.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be
|
||||||
|
# useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||||
|
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||||
|
# PURPOSE. See the GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with this program. If not, see http://www.gnu.org/licenses/.
|
||||||
|
#
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
export TEST=/beaker_test
|
||||||
|
export TESTVERSION=1.0
|
||||||
|
|
||||||
|
BUILT_FILES=
|
||||||
|
|
||||||
|
FILES=$(METADATA) runtest.sh Makefile PURPOSE
|
||||||
|
|
||||||
|
.PHONY: all install download clean
|
||||||
|
|
||||||
|
run: $(FILES) build
|
||||||
|
./runtest.sh
|
||||||
|
|
||||||
|
build: $(BUILT_FILES)
|
||||||
|
test -x runtest.sh || chmod a+x runtest.sh
|
||||||
|
|
||||||
|
clean:
|
||||||
|
rm -f *~ $(BUILT_FILES)
|
||||||
|
|
||||||
|
|
||||||
|
include /usr/share/rhts/lib/rhts-make.include
|
||||||
|
|
||||||
|
$(METADATA): Makefile
|
||||||
|
@echo "Owner: Andy Walsh <awalsh@redhat.com>" > $(METADATA)
|
||||||
|
@echo "Name: $(TEST)" >> $(METADATA)
|
||||||
|
@echo "TestVersion: $(TESTVERSION)" >> $(METADATA)
|
||||||
|
@echo "Path: $(TEST_DIR)" >> $(METADATA)
|
||||||
|
@echo "Description: Installs VDO" >> $(METADATA)
|
||||||
|
@echo "Type: Sanity" >> $(METADATA)
|
||||||
|
@echo "TestTime: 5m" >> $(METADATA)
|
||||||
|
@echo "RunFor: test_beakertask" >> $(METADATA)
|
||||||
|
@echo "Requires: test_beakertask" >> $(METADATA)
|
||||||
|
@echo "Priority: Normal" >> $(METADATA)
|
||||||
|
@echo "License: GPLv2+" >> $(METADATA)
|
||||||
|
@echo "Confidential: no" >> $(METADATA)
|
||||||
|
@echo "Destructive: no" >> $(METADATA)
|
||||||
|
@echo "Releases: -RHEL4 -RHELClient5 -RHELServer5" >> $(METADATA)
|
||||||
|
|
||||||
|
rhts-lint $(METADATA)
|
|
@ -0,0 +1,3 @@
|
||||||
|
PURPOSE Test the kmod-kvdo package for basic functionality
|
||||||
|
Description: Tests the VDO software for basic functionality.
|
||||||
|
Author: Andy Walsh <awalsh@redhat.com>
|
|
@ -0,0 +1,170 @@
|
||||||
|
#!/bin/bash
|
||||||
|
# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
#
|
||||||
|
# runtest.sh of VDO smoke test
|
||||||
|
# Description: Check that VDO is able to read/write data and start/stop
|
||||||
|
# Author: Andy Walsh <awalsh@redhat.com>
|
||||||
|
#
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
#
|
||||||
|
# Copyright (c) 2018 Red Hat, Inc.
|
||||||
|
#
|
||||||
|
# This program is free software: you can redistribute it and/or
|
||||||
|
# modify it under the terms of the GNU General Public License as
|
||||||
|
# published by the Free Software Foundation, either version 2 of
|
||||||
|
# the License, or (at your option) any later version.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be
|
||||||
|
# useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||||
|
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||||
|
# PURPOSE. See the GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with this program. If not, see http://www.gnu.org/licenses/.
|
||||||
|
#
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
# Include Beaker environment
|
||||||
|
. /usr/bin/rhts-environment.sh || exit 1
|
||||||
|
. /usr/share/beakerlib/beakerlib.sh || exit 1
|
||||||
|
|
||||||
|
function insertModuleWithDMesgOutput() {
|
||||||
|
moduleName=$1
|
||||||
|
|
||||||
|
modulePath=$(rpm -ql kmod-kvdo | grep "${1}.ko$")
|
||||||
|
|
||||||
|
exitVal=0
|
||||||
|
rlRun "dmesg -c > /dev/null"
|
||||||
|
rlRun "insmod ${modulePath}" || exitVal=255
|
||||||
|
rlRun "dmesg"
|
||||||
|
|
||||||
|
if [ ${exitVal} -ne 0 ]; then
|
||||||
|
rlDie "Exiting with failure due to module/kernel incompatibility"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
rlJournalStart
|
||||||
|
|
||||||
|
rlPhaseStartSetup "Create backing device"
|
||||||
|
rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory"
|
||||||
|
rlRun "pushd $TmpDir"
|
||||||
|
rlRun "df ."
|
||||||
|
|
||||||
|
# If we end up with less than 15G of available space, then we can't
|
||||||
|
# create a VDO volume sufficient for testing. We should bail out as a
|
||||||
|
# result.
|
||||||
|
loopbackSize=$(($(df --sync --output=avail / | tail -1) * 1024 - 1024*1024*1024))
|
||||||
|
if [ ${loopbackSize} -lt $((1024*1024*1024*15)) ]; then
|
||||||
|
rlDie "Not enough space to create loopback device."
|
||||||
|
fi
|
||||||
|
rlRun "truncate -s ${loopbackSize} $TmpDir/loop0.bin" 0 "Laying out loopfile backing"
|
||||||
|
rlRun "losetup /dev/loop0 $TmpDir/loop0.bin" 0 "Creating loopdevice"
|
||||||
|
rlRun "mkdir -p /mnt/testmount" 0 "Creating test mountpoint dir"
|
||||||
|
rlPhaseEnd
|
||||||
|
|
||||||
|
rlPhaseStartTest "Gather Relevant Info"
|
||||||
|
# Gather some system information for debug purposes
|
||||||
|
rlRun "uname -a"
|
||||||
|
rlRun "find /lib/modules -name kvdo.ko"
|
||||||
|
rlRun "modinfo kvdo" || insertModuleWithDMesgOutput kvdo
|
||||||
|
rlPhaseEnd
|
||||||
|
|
||||||
|
rlPhaseStartTest "Generate Test Data"
|
||||||
|
# Write some data, check statistics
|
||||||
|
rlRun "dd if=/dev/urandom of=${TmpDir}/urandom_fill_file bs=1M count=100"
|
||||||
|
rlRun "ls -lh ${TmpDir}/urandom_fill_file"
|
||||||
|
rlPhaseEnd
|
||||||
|
|
||||||
|
for partition_type in "raw" "lvm"
|
||||||
|
do
|
||||||
|
case $partition_type in
|
||||||
|
"raw"*)
|
||||||
|
backing_device=/dev/loop0
|
||||||
|
;;
|
||||||
|
"lvm"*)
|
||||||
|
rlPhaseStartTest "Create LVM backing device"
|
||||||
|
rlRun "pvcreate /dev/loop0" 0 "Creating PV"
|
||||||
|
rlRun "vgcreate vdo_base /dev/loop0" 0 "Creating VG"
|
||||||
|
rlRun "lvcreate -n vdo_base -l100%FREE vdo_base" 0 "Creating LV"
|
||||||
|
rlPhaseEnd
|
||||||
|
backing_device=/dev/vdo_base/vdo_base
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
rlPhaseStartTest "LVM-VDO Smoke Test"
|
||||||
|
# Create the VDO volume and get the initial statistics
|
||||||
|
rlRun "pvcreate --config devices/scan_lvs=1 ${backing_device}"
|
||||||
|
rlRun "vgcreate --config devices/scan_lvs=1 vdo_data ${backing_device}"
|
||||||
|
rlRun "lvcreate --config devices/scan_lvs=1 --type vdo -L 9G -V 100G -n vdo0 vdo_data/vdopool"
|
||||||
|
|
||||||
|
# Create a filesystem and mount the device, check statistics
|
||||||
|
rlRun "mkfs.xfs -K /dev/vdo_data/vdo0" 0 "Making xfs filesystem on VDO volume"
|
||||||
|
rlRun "mount -o discard /dev/vdo_data/vdo0 /mnt/testmount" 0 "Mounting xfs filesystem on VDO volume"
|
||||||
|
rlRun "df --sync /mnt/testmount"
|
||||||
|
rlRun "vdostats vdo_data-vdopool-vpool"
|
||||||
|
|
||||||
|
# Copy the test data onto VDO volume 4 times to get some deduplication
|
||||||
|
for i in {1..4}
|
||||||
|
do
|
||||||
|
rlRun "cp ${TmpDir}/urandom_fill_file /mnt/testmount/test_file-${i}"
|
||||||
|
done
|
||||||
|
rlRun "df --sync /mnt/testmount"
|
||||||
|
rlRun "vdostats vdo_data-vdopool-vpool"
|
||||||
|
|
||||||
|
# Verify the data
|
||||||
|
for i in {1..4}
|
||||||
|
do
|
||||||
|
rlRun "cmp ${TmpDir}/urandom_fill_file /mnt/testmount/test_file-${i}"
|
||||||
|
done
|
||||||
|
|
||||||
|
# Unmount and stop the volume, check statistics
|
||||||
|
rlRun "umount /mnt/testmount" 0 "Unmounting testmount"
|
||||||
|
rlRun "vdostats vdo_data-vdopool-vpool"
|
||||||
|
rlRun "lvchange --config devices/scan_lvs=1 -an vdo_data/vdo0"
|
||||||
|
|
||||||
|
# Start the VDO volume, mount it, check statistics, verify data.
|
||||||
|
rlRun "lvchange --config devices/scan_lvs=1 -ay vdo_data/vdo0"
|
||||||
|
rlRun "mount -o discard /dev/vdo_data/vdo0 /mnt/testmount" 0 "Mounting xfs filesystem on VDO volume"
|
||||||
|
|
||||||
|
rlRun "df --sync /mnt/testmount"
|
||||||
|
rlRun "vdostats vdo_data-vdopool-vpool"
|
||||||
|
|
||||||
|
# Verify the data
|
||||||
|
for i in {1..4}
|
||||||
|
do
|
||||||
|
rlRun "cmp ${TmpDir}/urandom_fill_file /mnt/testmount/test_file-${i}"
|
||||||
|
done
|
||||||
|
rlPhaseEnd
|
||||||
|
|
||||||
|
rlPhaseStartCleanup
|
||||||
|
rlRun "umount /mnt/testmount" 0 "Unmounting testmount"
|
||||||
|
rlRun "lvremove --config devices/scan_lvs=1 -ff vdo_data/vdo0" 0 "Removing VDO volume vdo0"
|
||||||
|
case $partition_type in
|
||||||
|
"lvm"*)
|
||||||
|
rlPhaseStartCleanup
|
||||||
|
rlRun "lvremove -ff ${backing_device}" 0 "Removing LV"
|
||||||
|
rlRun "vgremove vdo_base" 0 "Removing VG"
|
||||||
|
rlRun "pvremove /dev/loop0" 0 "Removing PV"
|
||||||
|
rlPhaseEnd
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
rlRun "dd if=/dev/zero of=/dev/loop0 bs=1M count=10 oflag=direct" 0 "Wiping Block Device"
|
||||||
|
|
||||||
|
rlPhaseEnd
|
||||||
|
done
|
||||||
|
|
||||||
|
rlPhaseStartCleanup
|
||||||
|
rlRun "losetup -d /dev/loop0" 0 "Deleting loopdevice"
|
||||||
|
rlRun "rm -f $TmpDir/loop0.bin" 0 "Removing loopfile backing"
|
||||||
|
rlRun "popd"
|
||||||
|
rlRun "rm -r $TmpDir" 0 "Removing tmp directory"
|
||||||
|
rlPhaseEnd
|
||||||
|
|
||||||
|
rlJournalPrintText
|
||||||
|
rlJournalEnd
|
|
@ -0,0 +1,16 @@
|
||||||
|
- hosts: localhost
|
||||||
|
tags:
|
||||||
|
- classic
|
||||||
|
roles:
|
||||||
|
- role: standard-test-beakerlib
|
||||||
|
tests:
|
||||||
|
- sanity
|
||||||
|
- smoke
|
||||||
|
required_packages:
|
||||||
|
- vdo
|
||||||
|
- device-mapper-event
|
||||||
|
- device-mapper-event-libs
|
||||||
|
- device-mapper-persistent-data
|
||||||
|
- libaio
|
||||||
|
- lvm2
|
||||||
|
- lvm2-libs
|
|
@ -0,0 +1,510 @@
|
||||||
|
diff -Naur kvdo-c6254c6db5cfa02ecf5bbb4db2c5728f23aa3b2a.orig/vdo/config.c kvdo-c6254c6db5cfa02ecf5bbb4db2c5728f23aa3b2a/vdo/config.c
|
||||||
|
--- kvdo-c6254c6db5cfa02ecf5bbb4db2c5728f23aa3b2a.orig/vdo/config.c 2023-10-19 18:57:25.000000000 -0400
|
||||||
|
+++ kvdo-c6254c6db5cfa02ecf5bbb4db2c5728f23aa3b2a/vdo/config.c 2024-05-07 09:38:49.210509205 -0400
|
||||||
|
@@ -676,7 +676,7 @@
|
||||||
|
config->sparse_sample_rate =
|
||||||
|
(params->sparse ? DEFAULT_SPARSE_SAMPLE_RATE : 0);
|
||||||
|
config->nonce = params->nonce;
|
||||||
|
- config->name = params->name;
|
||||||
|
+ config->bdev = params->bdev;
|
||||||
|
config->offset = params->offset;
|
||||||
|
config->size = params->size;
|
||||||
|
|
||||||
|
diff -Naur kvdo-c6254c6db5cfa02ecf5bbb4db2c5728f23aa3b2a.orig/vdo/config.h kvdo-c6254c6db5cfa02ecf5bbb4db2c5728f23aa3b2a/vdo/config.h
|
||||||
|
--- kvdo-c6254c6db5cfa02ecf5bbb4db2c5728f23aa3b2a.orig/vdo/config.h 2023-10-19 18:57:25.000000000 -0400
|
||||||
|
+++ kvdo-c6254c6db5cfa02ecf5bbb4db2c5728f23aa3b2a/vdo/config.h 2024-05-07 09:38:49.210509205 -0400
|
||||||
|
@@ -20,8 +20,8 @@
|
||||||
|
|
||||||
|
/* A set of configuration parameters for the indexer. */
|
||||||
|
struct configuration {
|
||||||
|
- /* String describing the storage device */
|
||||||
|
- const char *name;
|
||||||
|
+ /* Storage device for the index */
|
||||||
|
+ struct block_device *bdev;
|
||||||
|
|
||||||
|
/* The maximum allowable size of the index */
|
||||||
|
size_t size;
|
||||||
|
diff -Naur kvdo-c6254c6db5cfa02ecf5bbb4db2c5728f23aa3b2a.orig/vdo/dedupe.c kvdo-c6254c6db5cfa02ecf5bbb4db2c5728f23aa3b2a/vdo/dedupe.c
|
||||||
|
--- kvdo-c6254c6db5cfa02ecf5bbb4db2c5728f23aa3b2a.orig/vdo/dedupe.c 2023-10-19 18:57:25.000000000 -0400
|
||||||
|
+++ kvdo-c6254c6db5cfa02ecf5bbb4db2c5728f23aa3b2a/vdo/dedupe.c 2024-05-07 09:38:49.210509205 -0400
|
||||||
|
@@ -2796,7 +2796,7 @@
|
||||||
|
uds_offset = ((vdo_get_index_region_start(geometry) -
|
||||||
|
geometry.bio_offset) * VDO_BLOCK_SIZE);
|
||||||
|
zones->parameters = (struct uds_parameters) {
|
||||||
|
- .name = vdo->device_config->parent_device_name,
|
||||||
|
+ .bdev = vdo->device_config->owned_device->bdev,
|
||||||
|
.offset = uds_offset,
|
||||||
|
.size = (vdo_get_index_region_size(geometry) * VDO_BLOCK_SIZE),
|
||||||
|
.memory_size = geometry.index_config.mem,
|
||||||
|
@@ -3269,9 +3269,9 @@
|
||||||
|
struct device_config *config = parent->vdo->device_config;
|
||||||
|
int result;
|
||||||
|
|
||||||
|
- zones->parameters.name = config->parent_device_name;
|
||||||
|
+ zones->parameters.bdev = config->owned_device->bdev;
|
||||||
|
result = uds_resume_index_session(zones->index_session,
|
||||||
|
- zones->parameters.name);
|
||||||
|
+ zones->parameters.bdev);
|
||||||
|
if (result != UDS_SUCCESS) {
|
||||||
|
uds_log_error_strerror(result, "Error resuming dedupe index");
|
||||||
|
}
|
||||||
|
diff -Naur kvdo-c6254c6db5cfa02ecf5bbb4db2c5728f23aa3b2a.orig/vdo/index.c kvdo-c6254c6db5cfa02ecf5bbb4db2c5728f23aa3b2a/vdo/index.c
|
||||||
|
--- kvdo-c6254c6db5cfa02ecf5bbb4db2c5728f23aa3b2a.orig/vdo/index.c 2023-10-19 18:57:25.000000000 -0400
|
||||||
|
+++ kvdo-c6254c6db5cfa02ecf5bbb4db2c5728f23aa3b2a/vdo/index.c 2024-05-07 09:38:49.211509205 -0400
|
||||||
|
@@ -1557,9 +1557,9 @@
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
-int replace_index_storage(struct uds_index *index, const char *path)
|
||||||
|
+int replace_index_storage(struct uds_index *index, struct block_device *bdev)
|
||||||
|
{
|
||||||
|
- return replace_volume_storage(index->volume, index->layout, path);
|
||||||
|
+ return replace_volume_storage(index->volume, index->layout, bdev);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Accessing statistics should be safe from any thread. */
|
||||||
|
diff -Naur kvdo-c6254c6db5cfa02ecf5bbb4db2c5728f23aa3b2a.orig/vdo/index.h kvdo-c6254c6db5cfa02ecf5bbb4db2c5728f23aa3b2a/vdo/index.h
|
||||||
|
--- kvdo-c6254c6db5cfa02ecf5bbb4db2c5728f23aa3b2a.orig/vdo/index.h 2023-10-19 18:57:25.000000000 -0400
|
||||||
|
+++ kvdo-c6254c6db5cfa02ecf5bbb4db2c5728f23aa3b2a/vdo/index.h 2024-05-07 09:38:49.211509205 -0400
|
||||||
|
@@ -63,7 +63,7 @@
|
||||||
|
void free_index(struct uds_index *index);
|
||||||
|
|
||||||
|
int __must_check replace_index_storage(struct uds_index *index,
|
||||||
|
- const char *path);
|
||||||
|
+ struct block_device *bdev);
|
||||||
|
|
||||||
|
void get_index_stats(struct uds_index *index,
|
||||||
|
struct uds_index_stats *counters);
|
||||||
|
diff -Naur kvdo-c6254c6db5cfa02ecf5bbb4db2c5728f23aa3b2a.orig/vdo/index-layout.c kvdo-c6254c6db5cfa02ecf5bbb4db2c5728f23aa3b2a/vdo/index-layout.c
|
||||||
|
--- kvdo-c6254c6db5cfa02ecf5bbb4db2c5728f23aa3b2a.orig/vdo/index-layout.c 2023-10-19 18:57:25.000000000 -0400
|
||||||
|
+++ kvdo-c6254c6db5cfa02ecf5bbb4db2c5728f23aa3b2a/vdo/index-layout.c 2024-05-07 09:38:49.211509205 -0400
|
||||||
|
@@ -1980,7 +1980,7 @@
|
||||||
|
size_t writable_size;
|
||||||
|
struct io_factory *factory = NULL;
|
||||||
|
|
||||||
|
- result = make_uds_io_factory(config->name, &factory);
|
||||||
|
+ result = make_uds_io_factory(config->bdev, &factory);
|
||||||
|
if (result != UDS_SUCCESS) {
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
@@ -2062,9 +2062,9 @@
|
||||||
|
}
|
||||||
|
|
||||||
|
int replace_index_layout_storage(struct index_layout *layout,
|
||||||
|
- const char *name)
|
||||||
|
+ struct block_device *bdev)
|
||||||
|
{
|
||||||
|
- return replace_uds_storage(layout->factory, name);
|
||||||
|
+ return replace_uds_storage(layout->factory, bdev);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Obtain a dm_bufio_client for the volume region. */
|
||||||
|
diff -Naur kvdo-c6254c6db5cfa02ecf5bbb4db2c5728f23aa3b2a.orig/vdo/index-layout.h kvdo-c6254c6db5cfa02ecf5bbb4db2c5728f23aa3b2a/vdo/index-layout.h
|
||||||
|
--- kvdo-c6254c6db5cfa02ecf5bbb4db2c5728f23aa3b2a.orig/vdo/index-layout.h 2023-10-19 18:57:25.000000000 -0400
|
||||||
|
+++ kvdo-c6254c6db5cfa02ecf5bbb4db2c5728f23aa3b2a/vdo/index-layout.h 2024-05-07 09:38:49.211509205 -0400
|
||||||
|
@@ -20,7 +20,7 @@
|
||||||
|
void free_uds_index_layout(struct index_layout *layout);
|
||||||
|
|
||||||
|
int __must_check replace_index_layout_storage(struct index_layout *layout,
|
||||||
|
- const char *name);
|
||||||
|
+ struct block_device *bdev);
|
||||||
|
|
||||||
|
int __must_check load_index_state(struct index_layout *layout,
|
||||||
|
struct uds_index *index);
|
||||||
|
diff -Naur kvdo-c6254c6db5cfa02ecf5bbb4db2c5728f23aa3b2a.orig/vdo/index-session.c kvdo-c6254c6db5cfa02ecf5bbb4db2c5728f23aa3b2a/vdo/index-session.c
|
||||||
|
--- kvdo-c6254c6db5cfa02ecf5bbb4db2c5728f23aa3b2a.orig/vdo/index-session.c 2023-10-19 18:57:25.000000000 -0400
|
||||||
|
+++ kvdo-c6254c6db5cfa02ecf5bbb4db2c5728f23aa3b2a/vdo/index-session.c 2024-05-07 09:42:15.007509205 -0400
|
||||||
|
@@ -389,13 +389,14 @@
|
||||||
|
struct uds_index_session *session)
|
||||||
|
{
|
||||||
|
int result;
|
||||||
|
+ char name[BDEVNAME_SIZE];
|
||||||
|
|
||||||
|
if (parameters == NULL) {
|
||||||
|
uds_log_error("missing required parameters");
|
||||||
|
return -EINVAL;
|
||||||
|
}
|
||||||
|
- if (parameters->name == NULL) {
|
||||||
|
- uds_log_error("missing required index name");
|
||||||
|
+ if (parameters->bdev == NULL) {
|
||||||
|
+ uds_log_error("missing required block device");
|
||||||
|
return -EINVAL;
|
||||||
|
}
|
||||||
|
if (session == NULL) {
|
||||||
|
@@ -408,31 +409,9 @@
|
||||||
|
return uds_map_to_system_error(result);
|
||||||
|
}
|
||||||
|
|
||||||
|
- if ((session->parameters.name == NULL) ||
|
||||||
|
- (strcmp(parameters->name, session->parameters.name) != 0)) {
|
||||||
|
- char *new_name;
|
||||||
|
-
|
||||||
|
- result = uds_duplicate_string(parameters->name,
|
||||||
|
- "device name",
|
||||||
|
- &new_name);
|
||||||
|
- if (result != UDS_SUCCESS) {
|
||||||
|
- finish_loading_index_session(session, result);
|
||||||
|
- return uds_map_to_system_error(result);
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
- uds_free_const(session->parameters.name);
|
||||||
|
- session->parameters = *parameters;
|
||||||
|
- session->parameters.name = new_name;
|
||||||
|
- } else {
|
||||||
|
- const char *old_name = session->parameters.name;
|
||||||
|
-
|
||||||
|
- session->parameters = *parameters;
|
||||||
|
- session->parameters.name = old_name;
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
- uds_log_notice("%s: %s",
|
||||||
|
- get_open_type_string(open_type),
|
||||||
|
- parameters->name);
|
||||||
|
+ session->parameters = *parameters;
|
||||||
|
+ format_dev_t(name, parameters->bdev->bd_dev);
|
||||||
|
+ uds_log_notice("%s: %s", get_open_type_string(open_type), name);
|
||||||
|
result = initialize_index_session(session, open_type);
|
||||||
|
if (result != UDS_SUCCESS) {
|
||||||
|
uds_log_error_strerror(result,
|
||||||
|
@@ -550,34 +529,26 @@
|
||||||
|
}
|
||||||
|
|
||||||
|
static int replace_device(struct uds_index_session *session,
|
||||||
|
- const char *name)
|
||||||
|
+ struct block_device *bdev)
|
||||||
|
{
|
||||||
|
int result;
|
||||||
|
- char *new_name;
|
||||||
|
|
||||||
|
- result = uds_duplicate_string(name, "device name", &new_name);
|
||||||
|
+ result = replace_index_storage(session->index, bdev);
|
||||||
|
if (result != UDS_SUCCESS) {
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
- result = replace_index_storage(session->index, name);
|
||||||
|
- if (result != UDS_SUCCESS) {
|
||||||
|
- UDS_FREE(new_name);
|
||||||
|
- return result;
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
- uds_free_const(session->parameters.name);
|
||||||
|
- session->parameters.name = new_name;
|
||||||
|
+ session->parameters.bdev = bdev;
|
||||||
|
return UDS_SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Resume index operation after being suspended. If the index is suspended
|
||||||
|
- * and the supplied name is different from the current backing store, the
|
||||||
|
+ * and the supplied block device differs from the current backing store, the
|
||||||
|
* index will start using the new backing store.
|
||||||
|
*/
|
||||||
|
int uds_resume_index_session(struct uds_index_session *session,
|
||||||
|
- const char *name)
|
||||||
|
+ struct block_device *bdev)
|
||||||
|
{
|
||||||
|
int result = UDS_SUCCESS;
|
||||||
|
bool no_work = false;
|
||||||
|
@@ -604,9 +575,9 @@
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
- if ((name != NULL) && (session->index != NULL) &&
|
||||||
|
- (strcmp(name, session->parameters.name) != 0)) {
|
||||||
|
- result = replace_device(session, name);
|
||||||
|
+ if ((bdev != NULL) && (session->index != NULL) &&
|
||||||
|
+ (bdev != session->parameters.bdev)) {
|
||||||
|
+ result = replace_device(session, bdev);
|
||||||
|
if (result != UDS_SUCCESS) {
|
||||||
|
uds_lock_mutex(&session->request_mutex);
|
||||||
|
session->state &= ~IS_FLAG_WAITING;
|
||||||
|
@@ -780,7 +751,6 @@
|
||||||
|
|
||||||
|
wait_for_no_requests_in_progress(index_session);
|
||||||
|
result = save_and_free_index(index_session);
|
||||||
|
- uds_free_const(index_session->parameters.name);
|
||||||
|
uds_request_queue_finish(index_session->callback_queue);
|
||||||
|
index_session->callback_queue = NULL;
|
||||||
|
uds_destroy_cond(&index_session->load_context.cond);
|
||||||
|
@@ -808,35 +778,12 @@
|
||||||
|
struct uds_parameters **parameters)
|
||||||
|
{
|
||||||
|
int result;
|
||||||
|
- const char *name = index_session->parameters.name;
|
||||||
|
|
||||||
|
if (parameters == NULL) {
|
||||||
|
uds_log_error("received a NULL parameters pointer");
|
||||||
|
return -EINVAL;
|
||||||
|
}
|
||||||
|
|
||||||
|
- if (name != NULL) {
|
||||||
|
- char *name_copy = NULL;
|
||||||
|
- size_t name_length = strlen(name) + 1;
|
||||||
|
- struct uds_parameters *copy;
|
||||||
|
-
|
||||||
|
- result = UDS_ALLOCATE_EXTENDED(struct uds_parameters,
|
||||||
|
- name_length,
|
||||||
|
- char,
|
||||||
|
- __func__,
|
||||||
|
- ©);
|
||||||
|
- if (result != UDS_SUCCESS) {
|
||||||
|
- return uds_map_to_system_error(result);
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
- *copy = index_session->parameters;
|
||||||
|
- name_copy = (char *) copy + sizeof(struct uds_parameters);
|
||||||
|
- memcpy(name_copy, name, name_length);
|
||||||
|
- copy->name = name_copy;
|
||||||
|
- *parameters = copy;
|
||||||
|
- return UDS_SUCCESS;
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
result = UDS_ALLOCATE(1, struct uds_parameters, __func__, parameters);
|
||||||
|
if (result == UDS_SUCCESS) {
|
||||||
|
**parameters = index_session->parameters;
|
||||||
|
diff -Naur kvdo-c6254c6db5cfa02ecf5bbb4db2c5728f23aa3b2a.orig/vdo/io-factory.c kvdo-c6254c6db5cfa02ecf5bbb4db2c5728f23aa3b2a/vdo/io-factory.c
|
||||||
|
--- kvdo-c6254c6db5cfa02ecf5bbb4db2c5728f23aa3b2a.orig/vdo/io-factory.c 2023-10-19 18:57:25.000000000 -0400
|
||||||
|
+++ kvdo-c6254c6db5cfa02ecf5bbb4db2c5728f23aa3b2a/vdo/io-factory.c 2024-05-07 09:38:49.212509205 -0400
|
||||||
|
@@ -6,27 +6,10 @@
|
||||||
|
#include <linux/atomic.h>
|
||||||
|
#include <linux/blkdev.h>
|
||||||
|
#include <linux/mount.h>
|
||||||
|
-#ifndef VDO_UPSTREAM
|
||||||
|
-#include <linux/version.h>
|
||||||
|
-#endif /* VDO_UPSTREAM */
|
||||||
|
|
||||||
|
#include "io-factory.h"
|
||||||
|
#include "logger.h"
|
||||||
|
#include "memory-alloc.h"
|
||||||
|
-#ifndef VDO_UPSTREAM
|
||||||
|
-#undef VDO_USE_ALTERNATE
|
||||||
|
-#ifdef RHEL_RELEASE_CODE
|
||||||
|
-#if (RHEL_RELEASE_CODE < RHEL_RELEASE_VERSION(9, 4))
|
||||||
|
-#define VDO_USE_ALTERNATE
|
||||||
|
-#endif
|
||||||
|
-#else /* !RHEL_RELEASE_CODE */
|
||||||
|
-#if (LINUX_VERSION_CODE < KERNEL_VERSION(6,5,0))
|
||||||
|
-#define VDO_USE_ALTERNATE
|
||||||
|
-#endif
|
||||||
|
-#endif /* !RHEL_RELEASE_CODE */
|
||||||
|
-#endif /* !VDO_UPSTREAM */
|
||||||
|
-
|
||||||
|
-enum { BLK_FMODE = FMODE_READ | FMODE_WRITE };
|
||||||
|
|
||||||
|
/*
|
||||||
|
* A kernel mode IO Factory object controls access to an index stored
|
||||||
|
@@ -42,67 +25,14 @@
|
||||||
|
atomic_inc(&factory->ref_count);
|
||||||
|
}
|
||||||
|
|
||||||
|
-static int get_block_device_from_name(const char *name,
|
||||||
|
- struct block_device **bdev)
|
||||||
|
-{
|
||||||
|
- dev_t device;
|
||||||
|
- unsigned int major, minor;
|
||||||
|
- char dummy;
|
||||||
|
-#ifndef VDO_USE_ALTERNATE
|
||||||
|
- const struct blk_holder_ops hops = { NULL };
|
||||||
|
-#endif /* !VDO_USE_ALTERNATE */
|
||||||
|
-
|
||||||
|
- /* Extract the major/minor numbers */
|
||||||
|
- if (sscanf(name, "%u:%u%c", &major, &minor, &dummy) == 2) {
|
||||||
|
- device = MKDEV(major, minor);
|
||||||
|
- if (MAJOR(device) != major || MINOR(device) != minor) {
|
||||||
|
- *bdev = NULL;
|
||||||
|
- return uds_log_error_strerror(UDS_INVALID_ARGUMENT,
|
||||||
|
- "%s is not a valid block device",
|
||||||
|
- name);
|
||||||
|
- }
|
||||||
|
-#ifdef VDO_USE_ALTERNATE
|
||||||
|
- *bdev = blkdev_get_by_dev(device, BLK_FMODE, NULL);
|
||||||
|
-#else
|
||||||
|
- *bdev = blkdev_get_by_dev(device, BLK_FMODE, NULL, &hops);
|
||||||
|
-#endif /* VDO_USE_ALTERNATE */
|
||||||
|
- } else {
|
||||||
|
-#ifdef VDO_USE_ALTERNATE
|
||||||
|
- *bdev = blkdev_get_by_path(name, BLK_FMODE, NULL);
|
||||||
|
-#else
|
||||||
|
- *bdev = blkdev_get_by_path(name, BLK_FMODE, NULL, &hops);
|
||||||
|
-#endif /* VDO_USE_ALTERNATE */
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
- if (IS_ERR(*bdev)) {
|
||||||
|
- uds_log_error_strerror(-PTR_ERR(*bdev), "%s is not a block device", name);
|
||||||
|
- *bdev = NULL;
|
||||||
|
- return UDS_INVALID_ARGUMENT;
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
- return UDS_SUCCESS;
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
-int make_uds_io_factory(const char *path, struct io_factory **factory_ptr)
|
||||||
|
+int make_uds_io_factory(struct block_device *bdev, struct io_factory **factory_ptr)
|
||||||
|
{
|
||||||
|
int result;
|
||||||
|
- struct block_device *bdev;
|
||||||
|
struct io_factory *factory;
|
||||||
|
|
||||||
|
- result = get_block_device_from_name(path, &bdev);
|
||||||
|
- if (result != UDS_SUCCESS) {
|
||||||
|
- return result;
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
result = UDS_ALLOCATE(1, struct io_factory, __func__, &factory);
|
||||||
|
- if (result != UDS_SUCCESS) {
|
||||||
|
-#ifdef VDO_USE_ALTERNATE
|
||||||
|
- blkdev_put(bdev, BLK_FMODE);
|
||||||
|
-#else
|
||||||
|
- blkdev_put(bdev, NULL);
|
||||||
|
-#endif /* VDO_USE_ALTERNATE */
|
||||||
|
+ if (result != UDS_SUCCESS)
|
||||||
|
return result;
|
||||||
|
- }
|
||||||
|
|
||||||
|
factory->bdev = bdev;
|
||||||
|
atomic_set_release(&factory->ref_count, 1);
|
||||||
|
@@ -111,35 +41,16 @@
|
||||||
|
return UDS_SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
|
-int replace_uds_storage(struct io_factory *factory, const char *path)
|
||||||
|
+int replace_uds_storage(struct io_factory *factory, struct block_device *bdev)
|
||||||
|
{
|
||||||
|
- int result;
|
||||||
|
- struct block_device *bdev;
|
||||||
|
-
|
||||||
|
- result = get_block_device_from_name(path, &bdev);
|
||||||
|
- if (result != UDS_SUCCESS) {
|
||||||
|
- return result;
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
-#ifdef VDO_USE_ALTERNATE
|
||||||
|
- blkdev_put(factory->bdev, BLK_FMODE);
|
||||||
|
-#else
|
||||||
|
- blkdev_put(factory->bdev, NULL);
|
||||||
|
-#endif /* VDO_USE_ALTERNATE */
|
||||||
|
factory->bdev = bdev;
|
||||||
|
return UDS_SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
|
void put_uds_io_factory(struct io_factory *factory)
|
||||||
|
{
|
||||||
|
- if (atomic_add_return(-1, &factory->ref_count) <= 0) {
|
||||||
|
-#ifdef VDO_USE_ALTERNATE
|
||||||
|
- blkdev_put(factory->bdev, BLK_FMODE);
|
||||||
|
-#else
|
||||||
|
- blkdev_put(factory->bdev, NULL);
|
||||||
|
-#endif /* VDO_USE_ALTERNATE */
|
||||||
|
+ if (atomic_add_return(-1, &factory->ref_count) <= 0)
|
||||||
|
UDS_FREE(factory);
|
||||||
|
- }
|
||||||
|
}
|
||||||
|
|
||||||
|
size_t get_uds_writable_size(struct io_factory *factory)
|
||||||
|
diff -Naur kvdo-c6254c6db5cfa02ecf5bbb4db2c5728f23aa3b2a.orig/vdo/io-factory.h kvdo-c6254c6db5cfa02ecf5bbb4db2c5728f23aa3b2a/vdo/io-factory.h
|
||||||
|
--- kvdo-c6254c6db5cfa02ecf5bbb4db2c5728f23aa3b2a.orig/vdo/io-factory.h 2023-10-19 18:57:25.000000000 -0400
|
||||||
|
+++ kvdo-c6254c6db5cfa02ecf5bbb4db2c5728f23aa3b2a/vdo/io-factory.h 2024-05-07 09:38:49.212509205 -0400
|
||||||
|
@@ -36,25 +36,24 @@
|
||||||
|
* Create an IO factory. The IO factory is returned with a reference
|
||||||
|
* count of 1.
|
||||||
|
*
|
||||||
|
- * @param path The path to the block device or file that contains the
|
||||||
|
- * block stream
|
||||||
|
+ * @param bdev The block device that contains the block stream
|
||||||
|
* @param factory_ptr The IO factory is returned here
|
||||||
|
*
|
||||||
|
* @return UDS_SUCCESS or an error code
|
||||||
|
**/
|
||||||
|
-int __must_check make_uds_io_factory(const char *path,
|
||||||
|
+int __must_check make_uds_io_factory(struct block_device *bdev,
|
||||||
|
struct io_factory **factory_ptr);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Replace the backing store for an IO factory.
|
||||||
|
*
|
||||||
|
* @param factory The IO factory
|
||||||
|
- * @param path The path to the new block device or storage file
|
||||||
|
+ * @param bdev The new block device
|
||||||
|
*
|
||||||
|
* @return UDS_SUCCESS or an error code
|
||||||
|
**/
|
||||||
|
int __must_check replace_uds_storage(struct io_factory *factory,
|
||||||
|
- const char *path);
|
||||||
|
+ struct block_device *bdev);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get another reference to an IO factory, incrementing its reference count.
|
||||||
|
diff -Naur kvdo-c6254c6db5cfa02ecf5bbb4db2c5728f23aa3b2a.orig/vdo/uds.h kvdo-c6254c6db5cfa02ecf5bbb4db2c5728f23aa3b2a/vdo/uds.h
|
||||||
|
--- kvdo-c6254c6db5cfa02ecf5bbb4db2c5728f23aa3b2a.orig/vdo/uds.h 2023-10-19 18:57:25.000000000 -0400
|
||||||
|
+++ kvdo-c6254c6db5cfa02ecf5bbb4db2c5728f23aa3b2a/vdo/uds.h 2024-05-07 09:38:49.214509205 -0400
|
||||||
|
@@ -132,8 +132,8 @@
|
||||||
|
* The data used to configure a new index.
|
||||||
|
**/
|
||||||
|
struct uds_parameters {
|
||||||
|
- /** String describing the storage device */
|
||||||
|
- const char *name;
|
||||||
|
+ /** The block_device used for storage */
|
||||||
|
+ struct block_device *bdev;
|
||||||
|
/** The maximum allowable size of the index on storage */
|
||||||
|
size_t size;
|
||||||
|
/** The offset where the index should start */
|
||||||
|
@@ -404,9 +404,10 @@
|
||||||
|
bool save);
|
||||||
|
|
||||||
|
/**
|
||||||
|
- * Allows new index operations for an index, whether it was suspended or not.
|
||||||
|
- * If the index is suspended and the supplied path is different from the
|
||||||
|
- * current backing store, the index will start using the new backing store.
|
||||||
|
+ * Allow new index operations for an index, whether it was suspended or not.
|
||||||
|
+ * If the index is suspended and the supplied block device differs from the
|
||||||
|
+ * current backing store, the index will start using the new backing store
|
||||||
|
+ * instead.
|
||||||
|
*
|
||||||
|
* @param session The session to resume
|
||||||
|
* @param name A name describing the new backing store to use
|
||||||
|
@@ -414,7 +415,7 @@
|
||||||
|
* @return Either #UDS_SUCCESS or an error code
|
||||||
|
**/
|
||||||
|
int __must_check uds_resume_index_session(struct uds_index_session *session,
|
||||||
|
- const char *name);
|
||||||
|
+ struct block_device *bdev);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Waits until all callbacks for index operations are complete.
|
||||||
|
diff -Naur kvdo-c6254c6db5cfa02ecf5bbb4db2c5728f23aa3b2a.orig/vdo/volume.c kvdo-c6254c6db5cfa02ecf5bbb4db2c5728f23aa3b2a/vdo/volume.c
|
||||||
|
--- kvdo-c6254c6db5cfa02ecf5bbb4db2c5728f23aa3b2a.orig/vdo/volume.c 2023-10-19 18:57:25.000000000 -0400
|
||||||
|
+++ kvdo-c6254c6db5cfa02ecf5bbb4db2c5728f23aa3b2a/vdo/volume.c 2024-05-07 09:38:49.215509205 -0400
|
||||||
|
@@ -1471,11 +1471,11 @@
|
||||||
|
|
||||||
|
int __must_check replace_volume_storage(struct volume *volume,
|
||||||
|
struct index_layout *layout,
|
||||||
|
- const char *name)
|
||||||
|
+ struct block_device *bdev)
|
||||||
|
{
|
||||||
|
int result;
|
||||||
|
|
||||||
|
- result = replace_index_layout_storage(layout, name);
|
||||||
|
+ result = replace_index_layout_storage(layout, bdev);
|
||||||
|
if (result != UDS_SUCCESS) {
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
diff -Naur kvdo-c6254c6db5cfa02ecf5bbb4db2c5728f23aa3b2a.orig/vdo/volume.h kvdo-c6254c6db5cfa02ecf5bbb4db2c5728f23aa3b2a/vdo/volume.h
|
||||||
|
--- kvdo-c6254c6db5cfa02ecf5bbb4db2c5728f23aa3b2a.orig/vdo/volume.h 2023-10-19 18:57:25.000000000 -0400
|
||||||
|
+++ kvdo-c6254c6db5cfa02ecf5bbb4db2c5728f23aa3b2a/vdo/volume.h 2024-05-07 09:38:49.215509205 -0400
|
||||||
|
@@ -95,13 +95,13 @@
|
||||||
|
*
|
||||||
|
* @param volume The volume to reconfigure
|
||||||
|
* @param layout The index layout
|
||||||
|
- * @param path The path to the new backing store
|
||||||
|
+ * @param bdev The backing store block device
|
||||||
|
*
|
||||||
|
* @return UDS_SUCCESS or an error code
|
||||||
|
**/
|
||||||
|
int __must_check replace_volume_storage(struct volume *volume,
|
||||||
|
struct index_layout *layout,
|
||||||
|
- const char *path);
|
||||||
|
+ struct block_device *bdev);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Enqueue a page read.
|
Loading…
Reference in New Issue