Line data Source code
1 : /* SPDX-License-Identifier: GPL-2.0 */ 2 : /* 3 : * Copyright (C) 2013 Fusion IO. All rights reserved. 4 : */ 5 : 6 : #ifndef BTRFS_TESTS_H 7 : #define BTRFS_TESTS_H 8 : 9 : #ifdef CONFIG_BTRFS_FS_RUN_SANITY_TESTS 10 : int btrfs_run_sanity_tests(void); 11 : 12 : #define test_msg(fmt, ...) pr_info("BTRFS: selftest: " fmt "\n", ##__VA_ARGS__) 13 : #define test_err(fmt, ...) pr_err("BTRFS: selftest: %s:%d " fmt "\n", \ 14 : __FILE__, __LINE__, ##__VA_ARGS__) 15 : 16 : #define test_std_err(index) test_err("%s", test_error[index]) 17 : 18 : enum { 19 : TEST_ALLOC_FS_INFO, 20 : TEST_ALLOC_ROOT, 21 : TEST_ALLOC_EXTENT_BUFFER, 22 : TEST_ALLOC_PATH, 23 : TEST_ALLOC_INODE, 24 : TEST_ALLOC_BLOCK_GROUP, 25 : TEST_ALLOC_EXTENT_MAP, 26 : }; 27 : 28 : extern const char *test_error[]; 29 : 30 : struct btrfs_root; 31 : struct btrfs_trans_handle; 32 : 33 : int btrfs_test_extent_buffer_operations(u32 sectorsize, u32 nodesize); 34 : int btrfs_test_free_space_cache(u32 sectorsize, u32 nodesize); 35 : int btrfs_test_extent_io(u32 sectorsize, u32 nodesize); 36 : int btrfs_test_inodes(u32 sectorsize, u32 nodesize); 37 : int btrfs_test_qgroups(u32 sectorsize, u32 nodesize); 38 : int btrfs_test_free_space_tree(u32 sectorsize, u32 nodesize); 39 : int btrfs_test_extent_map(void); 40 : struct inode *btrfs_new_test_inode(void); 41 : struct btrfs_fs_info *btrfs_alloc_dummy_fs_info(u32 nodesize, u32 sectorsize); 42 : void btrfs_free_dummy_fs_info(struct btrfs_fs_info *fs_info); 43 : void btrfs_free_dummy_root(struct btrfs_root *root); 44 : struct btrfs_block_group * 45 : btrfs_alloc_dummy_block_group(struct btrfs_fs_info *fs_info, unsigned long length); 46 : void btrfs_free_dummy_block_group(struct btrfs_block_group *cache); 47 : void btrfs_init_dummy_trans(struct btrfs_trans_handle *trans, 48 : struct btrfs_fs_info *fs_info); 49 : struct btrfs_device *btrfs_alloc_dummy_device(struct btrfs_fs_info *fs_info); 50 : #else 51 11 : static inline int btrfs_run_sanity_tests(void) 52 : { 53 11 : return 0; 54 : } 55 : #endif 56 : 57 : #endif