open-cas-linux/configure.d/1_submit_bio.conf
Michal Mielewczyk 9473cf9795 Enable configure script to compile test modules in parallel.
This patch significantly reduces time needed to prepare config file.

Signed-off-by: Michal Mielewczyk <michal.mielewczyk@intel.com>
2019-07-12 03:00:18 -04:00

68 lines
1.6 KiB
Bash

#!/bin/bash
#
# Copyright(c) 2012-2019 Intel Corporation
# SPDX-License-Identifier: BSD-3-Clause-Clear
#
. $(dirname $3)/conf_framework
# submit_bio() can be defined in "bio.h" or in "fs.h"
# If it is defind in fs.h, three possibilities are available:
# * it takes one argument and retuns non-void
# * it takes two arguments and returns non-void
# * it takse two arguments and is void-type
check() {
cur_name=$(basename $2)
config_file_path=$1
if compile_module $cur_name "submit_bio(NULL)" "linux/bio.h"
then
echo $cur_name "1" >> $config_file_path
elif compile_module $cur_name "submit_bio(NULL)" "linux/fs.h"
then
echo $cur_name "2" >> $config_file_path
elif compile_module $cur_name "void *t=submit_bio(0, NULL)" "linux/fs.h"
then
echo $cur_name "4" >> $config_file_path
elif compile_module $cur_name "submit_bio(0, NULL)" "linux/fs.h"
then
echo $cur_name "4" >> $config_file_path
else
echo $cur_name "X" >> $config_file_path
fi
}
apply() {
case "$1" in
"1")
add_function "
static inline blk_qc_t cas_submit_bio(int rw, struct bio *bio)
{
CAS_BIO_OP_FLAGS(bio) |= rw;
return submit_bio(bio);
}" ;;
"2")
add_function "
static inline blk_qc_t cas_submit_bio(int rw, struct bio *bio)
{
CAS_BIO_OP_FLAGS(bio) |= rw;
return submit_bio(bio);
}" ;;
"3")
add_function "
static inline blk_qc_t cas_submit_bio(int rw, struct bio *bio)
{
return submit_bio(rw, bio);
}" ;;
"4")
add_function "
static inline void cas_submit_bio(int rw, struct bio *bio)
{
submit_bio(rw, bio);
}" ;;
*)
exit 1
esac
}
conf_run $@