From 24fd2d11406eb81a40e272f46ff309bd037573a3 Mon Sep 17 00:00:00 2001 From: Krzysztof Majzerowicz-Jaszcz Date: Fri, 10 Jun 2022 13:18:32 +0200 Subject: [PATCH] Fix compilation issues on rhel's 4.18 kernel RHELs patched kernel needs additional configure.d test in order to configure OpenCAS. This patch implements this. Signed-off-by: Krzysztof Majzerowicz-Jaszcz --- configure.d/1_reread_partitions.conf | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/configure.d/1_reread_partitions.conf b/configure.d/1_reread_partitions.conf index c76bcfe..6e2d9a5 100644 --- a/configure.d/1_reread_partitions.conf +++ b/configure.d/1_reread_partitions.conf @@ -9,28 +9,39 @@ check() { cur_name=$(basename $2) config_file_path=$1 - if compile_module $cur_name "bdev_disk_changed(NULL, false);" "linux/genhd.h" + if compile_module $cur_name "bdev_disk_changed((struct block_device *)NULL, false);" "linux/genhd.h" then echo $cur_name "1" >> $config_file_path - else + elif compile_module $cur_name "bdev_disk_changed((struct gendisk *)NULL, false);" "linux/genhd.h" + then echo $cur_name "2" >> $config_file_path + else + echo $cur_name "3" >> $config_file_path fi } apply() { case "$1" in "1") + add_function " + static inline void cas_reread_partitions(struct block_device *bdev) + { + bdev_disk_changed(bdev, false); + }" ;; + + "2") add_function " static inline void cas_reread_partitions(struct block_device *bdev) { bdev_disk_changed(bdev->bd_disk, false); }" ;; - "2") + "3") add_function " static inline void cas_reread_partitions(struct block_device *bdev) { ioctl_by_bdev(bdev, BLKRRPART, (unsigned long)NULL); }" ;; + *) exit 1 esac