#!/bin/bash # # Copyright(c) 2012-2019 Intel Corporation # SPDX-License-Identifier: BSD-3-Clause-Clear # . `dirname $0`/conf_framework check() { if compile_module "bio_clone(NULL, 0)" "linux/bio.h" then echo "1" elif compile_module "bio_clone_kmalloc(NULL, 0)" "linux/bio.h" then echo "2" elif compile_module "bio_clone_fast(NULL, 0, NULL)" "linux/bio.h" then echo "3" else echo "X" fi } apply() { case "$1" in "1") add_function "static inline struct bio *cas_bio_clone(struct bio *bio, gfp_t gfp_mask) { return bio_clone(bio, gfp_mask); }" ;; "2") add_function "static inline struct bio *cas_bio_clone(struct bio *bio, gfp_t gfp_mask) { return bio_clone_kmalloc(bio, gfp_mask); }" ;; "3") add_function "static inline struct bio *cas_bio_clone(struct bio *bio, gfp_t gfp_mask) { return bio_clone_fast(bio, gfp_mask, NULL); }" ;; *) exit 1 esac } conf_run $@