From 13ae0eeda9db6e7012da6783c22af5fa45fe1420 Mon Sep 17 00:00:00 2001 From: Susan LeGendre-McGhee Date: Fri, 20 Oct 2023 22:18:45 +0000 Subject: [PATCH] Updated to version 8.2.3.3 Adapted to backported kernel changes. - Resolves: RHEL-11975 Signed-off-by: Susan LeGendre-McGhee --- .gitignore | 1 + adapt_backported_kernel65.patch | 113 -------------------------------- kmod-kvdo.spec | 12 ++-- sources | 2 +- 4 files changed, 9 insertions(+), 119 deletions(-) delete mode 100644 adapt_backported_kernel65.patch diff --git a/.gitignore b/.gitignore index 08a930f..b4b663b 100644 --- a/.gitignore +++ b/.gitignore @@ -10,3 +10,4 @@ /kvdo-883a960.tar.gz /kvdo-e2a5ebb.tar.gz /kvdo-c9bd224.tar.gz +/kvdo-c6254c6.tar.gz diff --git a/adapt_backported_kernel65.patch b/adapt_backported_kernel65.patch deleted file mode 100644 index 3fab8d7..0000000 --- a/adapt_backported_kernel65.patch +++ /dev/null @@ -1,113 +0,0 @@ -diff -Naur kvdo-c9bd224d9c48b35f3db202e648c3abaece81f39e.orig/vdo/io-factory.c kvdo-c9bd224d9c48b35f3db202e648c3abaece81f39e/vdo/io-factory.c ---- kvdo-c9bd224d9c48b35f3db202e648c3abaece81f39e.orig/vdo/io-factory.c 2023-10-06 22:41:55.624013630 -0400 -+++ kvdo-c9bd224d9c48b35f3db202e648c3abaece81f39e/vdo/io-factory.c 2023-10-06 23:03:22.482013630 -0400 -@@ -6,10 +6,27 @@ - #include - #include - #include -+#ifndef VDO_UPSTREAM -+#include -+#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)) -+#if (LINUX_VERSION_CODE < KERNEL_VERSION(6,5,0)) -+#define VDO_USE_ALTERNATE -+#endif -+#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 }; - -@@ -30,16 +47,38 @@ - static int get_block_device_from_name(const char *name, - struct block_device **bdev) - { -- dev_t device = name_to_dev_t(name); -- -- if (device != 0) { -+ 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); -+ uds_log_error_strerror(-PTR_ERR(*bdev), "%s is not a block device", name); -+ *bdev = NULL; - return UDS_INVALID_ARGUMENT; - } - -@@ -59,7 +98,11 @@ - - 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 */ - return result; - } - -@@ -80,7 +123,11 @@ - 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; - } -@@ -88,7 +135,11 @@ - void put_uds_io_factory(struct io_factory *factory) - { - if (atomic_add_return(-1, &factory->ref_count) <= 0) { -- blkdev_put(factory->bdev, BLK_FMODE); -+#ifdef VDO_USE_ALTERNATE -+ blkdev_put(factory->bdev, BLK_FMODE); -+#else -+ blkdev_put(factory->bdev, NULL); -+#endif /* VDO_USE_ALTERNATE */ - UDS_FREE(factory); - } - } - diff --git a/kmod-kvdo.spec b/kmod-kvdo.spec index b435bc1..bd83711 100644 --- a/kmod-kvdo.spec +++ b/kmod-kvdo.spec @@ -1,12 +1,12 @@ -%global commit c9bd224d9c48b35f3db202e648c3abaece81f39e -%global gittag 8.2.1.6 +%global commit c6254c6db5cfa02ecf5bbb4db2c5728f23aa3b2a +%global gittag 8.2.3.3 %global shortcommit %(c=%{commit}; echo ${c:0:7}) %define spec_release 100 %define kmod_name kvdo %define kmod_driver_version %{gittag} %define kmod_rpm_release %{spec_release} -%define kmod_kernel_version 5.14.0-375.el9 +%define kmod_kernel_version 5.14.0-378.el9 %define kmod_headers_version %(rpm -qa kernel-devel | sed 's/^kernel-devel-//') %define kmod_kbuild_dir . %define kmod_devel_package 0 @@ -14,7 +14,6 @@ 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: adapt_backported_kernel65.patch %define findpat %( echo "%""P" ) @@ -108,7 +107,6 @@ printf '%s\n' "${modules[@]}" | %{_sbindir}/weak-modules --dracut=/usr/bin/dracu %setup -n %{kmod_name}-%{commit} %patch0 -p1 %patch1 -p1 -%patch2 -p1 %{nil} set -- * mkdir source @@ -157,6 +155,10 @@ install -m 644 -D source/greylist.txt $RPM_BUILD_ROOT/usr/share/doc/kmod-%{kmod_ rm -rf $RPM_BUILD_ROOT %changelog +* Fri Oct 20 2023 - Susan LeGendre-McGhee - 8.2.3.3-100.el9 +- Adapted to backported kernel changes. +- Resolves: RHEL-11975 + * Tue Oct 10 2023 - Susan LeGendre-McGhee - 8.2.1.6-100.el9 - Rebuilt for latest kernel. - Related: RHEL-11426 diff --git a/sources b/sources index ff35b0c..3da744f 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (kvdo-c9bd224.tar.gz) = 5e181a5c966408e52a77cc9f5372c65491b38743366d255b9ac5a71b99a9f7fc9f0e9d5ba3f3cc85edeb41e335757f57cded68c84c77f1f57c5c9e23f7cc84aa +SHA512 (kvdo-c6254c6.tar.gz) = 262fb5f8b6b4ca31e06b4816b41a225a05a8058d77dd72fb6b93f32352697487e4120876698bba76bf3cf899ce2db7ad83bd4aa09b1067ea8aec50fc2c9545d6