#!/bin/bash # # Copyright(c) 2012-2022 Intel Corporation # SPDX-License-Identifier: BSD-3-Clause # . $(dirname $3)/conf_framework.sh check() { cur_name=$(basename $2) config_file_path=$1 if compile_module $cur_name "struct request_queue q;blk_queue_discard(&q);" "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 int cas_has_discard_support(struct block_device *bd) { struct request_queue *q = bdev_get_queue(bd); return (int)blk_queue_discard(q); }" ;; "2") add_function " static inline int cas_has_discard_support(struct block_device *bd) { return !!bdev_max_discard_sectors(bd); }" ;; *) exit 1 esac } conf_run $@