open-cas-linux/configure.d/submit_bio.conf
Michal Mielewczyk 1e5355eba1 Extending 'configure' script
Functions and macros dependent on different kernel versions are now generated
before compilation basing on current kernel capabilities instead of hardcoding
them for specific kernels.

Signed-off-by: Michal Mielewczyk <michal.mielewczyk@intel.com>
2019-05-30 06:29:07 -04:00

45 lines
1.1 KiB
Bash

#!/bin/bash
#
# Copyright(c) 2012-2019 Intel Corporation
# SPDX-License-Identifier: BSD-3-Clause-Clear
#
. `dirname $0`/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
if compile_module "submit_bio(NULL)" "linux/bio.h"
then
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);
}"
elif compile_module "submit_bio(NULL)" "linux/fs.h"
then
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);
}"
elif compile_module "void *t=submit_bio(0, NULL)" "linux/fs.h"
then
add_function "
static inline blk_qc_t cas_submit_bio(int rw, struct bio *bio)
{
return submit_bio(rw, bio);
}"
elif compile_module "submit_bio(0, NULL)" "linux/fs.h"
then
add_function "
static inline void cas_submit_bio(int rw, struct bio *bio)
{
submit_bio(rw, bio);
}"
fi