diff --git a/configure.d/1_bio_dev.conf b/configure.d/1_bio_dev.conf new file mode 100644 index 0000000..aadaefd --- /dev/null +++ b/configure.d/1_bio_dev.conf @@ -0,0 +1,40 @@ +#!/bin/bash +# +# Copyright(c) 2012-2019 Intel Corporation +# SPDX-License-Identifier: BSD-3-Clause-Clear +# + +. $(dirname $3)/conf_framework + +check() { + cur_name=$(basename $2) + config_file_path=$1 + if compile_module $cur_name "struct bio b;bio_dev(&b);" "linux/bio.h" "linux/genhd.h" + then + echo $cur_name "1" >> $config_file_path + elif compile_module $cur_name "struct bio b;b.bi_bdev" "linux/bio.h" + then + echo $cur_name "2" >> $config_file_path + else + echo $cur_name "X" >> $config_file_path + fi +} + +apply() { + case "$1" in + "1") + add_define "CAS_BIO_SET_DEV(bio, bdev) \\ + bio_set_dev(bio, bdev)" + add_define "CAS_BIO_GET_DEV(bio) \\ + bio->bi_disk" ;; + "2") + add_define "CAS_BIO_SET_DEV(bio, bdev) \\ + bio->bi_bdev = bdev" + add_define "CAS_BIO_GET_DEV(bio) \\ + bio->bi_bdev->bd_disk" ;; + *) + exit 1 + esac +} + +conf_run $@ diff --git a/configure.d/1_global_page_state.conf b/configure.d/1_global_page_state.conf index d4d6901..260567b 100644 --- a/configure.d/1_global_page_state.conf +++ b/configure.d/1_global_page_state.conf @@ -27,21 +27,13 @@ apply() { static inline unsigned long cas_global_zone_page_state(enum zone_stat_item item) { return global_zone_page_state(item); - }" - add_define "CAS_BIO_SET_DEV(bio, bdev) \\ - bio_set_dev(bio, bdev)" - add_define "CAS_BIO_GET_DEV(bio) \\ - bio->bi_disk" ;; + }" ;; "2") add_function " static inline unsigned long cas_global_zone_page_state(enum zone_stat_item item) { return global_page_state(item); - }" - add_define "CAS_BIO_SET_DEV(bio, bdev) \\ - bio->bi_bdev = bdev" - add_define "CAS_BIO_GET_DEV(bio) \\ - bio->bi_bdev->bd_disk" ;; + }" ;; *) exit 1 esac