1 /* SPDX-License-Identifier: GPL-2.0 */
3 * Copyright (C) 2013 Fusion IO. All rights reserved.
9 #ifdef CONFIG_BTRFS_FS_RUN_SANITY_TESTS
10 int btrfs_run_sanity_tests(void);
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__)
16 #define test_std_err(index) test_err("%s", test_error[index])
21 TEST_ALLOC_EXTENT_BUFFER
,
24 TEST_ALLOC_BLOCK_GROUP
,
25 TEST_ALLOC_EXTENT_MAP
,
28 extern const char *test_error
[];
31 struct btrfs_trans_handle
;
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
);
51 static inline int btrfs_run_sanity_tests(void)