55 lines
1.3 KiB
Bash
55 lines
1.3 KiB
Bash
#!/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_mq_make_request(NULL, NULL);" "linux/blk-mq.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_get_default_mk_request_fn(struct request_queue *q)
|
|
{
|
|
if (q->make_request_fn)
|
|
return q->make_request_fn;
|
|
return blk_mq_make_request;
|
|
}"
|
|
add_function "
|
|
static inline void cas_call_default_mk_request_fn(make_request_fn *fn,
|
|
struct request_queue *q, struct bio *bio)
|
|
{
|
|
percpu_ref_get(&q->q_usage_counter);
|
|
fn(q, bio);
|
|
}" ;;
|
|
"2")
|
|
add_function "
|
|
static inline void *cas_get_default_mk_request_fn(struct request_queue *q)
|
|
{
|
|
return q->make_request_fn;
|
|
}"
|
|
add_function "
|
|
static inline void cas_call_default_mk_request_fn(make_request_fn *fn,
|
|
struct request_queue *q, struct bio *bio)
|
|
{
|
|
fn(q, bio);
|
|
}" ;;
|
|
*)
|
|
exit 1
|
|
esac
|
|
}
|
|
|
|
conf_run $@
|