From c6ff665c385a8211d2d33eb4c910afe26f1963a9 Mon Sep 17 00:00:00 2001 From: Michal Mielewczyk Date: Fri, 6 Sep 2019 05:13:33 -0400 Subject: [PATCH] configure: bio dev accessor in separate file Signed-off-by: Michal Mielewczyk --- configure.d/1_bio_dev.conf | 40 ++++++++++++++++++++++++++++ configure.d/1_global_page_state.conf | 12 ++------- 2 files changed, 42 insertions(+), 10 deletions(-) create mode 100644 configure.d/1_bio_dev.conf 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