/* SPDX-License-Identifier: GPL-2.0 */ #ifndef _BLK_ERROR_INJECTION_H #define _BLK_ERROR_INJECTION_H 1 #include DECLARE_STATIC_KEY_FALSE(blk_error_injection_enabled); void blk_error_injection_init(struct gendisk *disk); void blk_error_injection_exit(struct gendisk *disk); bool __blk_error_inject(struct bio *bio); static inline bool blk_error_inject(struct bio *bio) { if (IS_ENABLED(CONFIG_BLK_ERROR_INJECTION) && static_branch_unlikely(&blk_error_injection_enabled) && test_bit(GD_ERROR_INJECT, &bio->bi_bdev->bd_disk->state)) return __blk_error_inject(bio); return false; } #endif /* _BLK_ERROR_INJECTION_H */