From d9ea8d3e32eb8c29804469375fa130e08fa87c5c Mon Sep 17 00:00:00 2001 From: Robert Baldyga Date: Fri, 11 Dec 2020 20:56:59 +0100 Subject: [PATCH] configure: Add blk_queue_make_request() wrapper Signed-off-by: Robert Baldyga --- configure.d/1_make_request.conf | 41 +++++++++++++++++++++++++++++++++ modules/cas_disk/exp_obj.c | 2 +- 2 files changed, 42 insertions(+), 1 deletion(-) create mode 100644 configure.d/1_make_request.conf diff --git a/configure.d/1_make_request.conf b/configure.d/1_make_request.conf new file mode 100644 index 0000000..4c897c3 --- /dev/null +++ b/configure.d/1_make_request.conf @@ -0,0 +1,41 @@ +#!/bin/bash +# +# Copyright(c) 2012-2020 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 "blk_queue_make_request" "linux/blkdev.h" + then + echo $cur_name "1" >> $config_file_path + else + echo $cur_name "2" >> $config_file_path + fi +} + +apply() { + case "$1" in + "1") + add_function " + static inline void cas_blk_queue_make_request(struct request_queue *q, + make_request_fn *mfn) + { + blk_queue_make_request(q, mfn); + }" ;; + "2") + add_function " + static inline void cas_blk_queue_make_request(struct request_queue *q, + make_request_fn *mfn) + { + q->make_request_fn = mfn; + }" ;; + *) + exit 1 + esac +} + +conf_run $@ diff --git a/modules/cas_disk/exp_obj.c b/modules/cas_disk/exp_obj.c index a4d2ebe..31a80c1 100644 --- a/modules/cas_disk/exp_obj.c +++ b/modules/cas_disk/exp_obj.c @@ -574,7 +574,7 @@ int casdsk_exp_obj_create(struct casdsk_disk *dsk, const char *dev_name, strlcpy(gd->disk_name, exp_obj->dev_name, sizeof(gd->disk_name)); dsk->exp_obj->mk_rq_fn = queue->make_request_fn; - blk_queue_make_request(queue, _casdsk_exp_obj_make_rq_fn); + cas_blk_queue_make_request(queue, _casdsk_exp_obj_make_rq_fn); if (exp_obj->ops->set_geometry) { result = exp_obj->ops->set_geometry(dsk, dsk->private);