blob: 66fb6b701eb72975fa203fd4018ae847cffd46ab [file] [log] [blame]
Josef Bacikdc11dd52013-08-14 15:05:12 -04001/*
2 * Copyright (C) 2013 Fusion IO. All rights reserved.
3 *
4 * This program is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU General Public
6 * License v2 as published by the Free Software Foundation.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11 * General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public
14 * License along with this program; if not, write to the
15 * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
16 * Boston, MA 021110-1307, USA.
17 */
18
19#ifndef __BTRFS_TESTS
20#define __BTRFS_TESTS
21
22#ifdef CONFIG_BTRFS_FS_RUN_SANITY_TESTS
23
Frank Holtonefe120a2013-12-20 11:37:06 -050024#define test_msg(fmt, ...) pr_info("BTRFS: selftest: " fmt, ##__VA_ARGS__)
Josef Bacikdc11dd52013-08-14 15:05:12 -040025
Josef Bacikfaa2dbf2014-05-07 17:06:09 -040026struct btrfs_root;
Omar Sandoval7c55ee02015-09-29 20:50:36 -070027struct btrfs_trans_handle;
Josef Bacikfaa2dbf2014-05-07 17:06:09 -040028
Feifei Xub9ef22d2016-06-01 19:18:25 +080029int btrfs_test_free_space_cache(u32 sectorsize, u32 nodesize);
30int btrfs_test_extent_buffer_operations(u32 sectorsize, u32 nodesize);
31int btrfs_test_extent_io(u32 sectorsize, u32 nodesize);
32int btrfs_test_inodes(u32 sectorsize, u32 nodesize);
33int btrfs_test_qgroups(u32 sectorsize, u32 nodesize);
34int btrfs_test_free_space_tree(u32 sectorsize, u32 nodesize);
Josef Bacik294e30f2013-10-09 12:00:56 -040035int btrfs_init_test_fs(void);
36void btrfs_destroy_test_fs(void);
37struct inode *btrfs_new_test_inode(void);
Josef Bacikfaa2dbf2014-05-07 17:06:09 -040038struct btrfs_fs_info *btrfs_alloc_dummy_fs_info(void);
39void btrfs_free_dummy_root(struct btrfs_root *root);
Omar Sandoval7c55ee02015-09-29 20:50:36 -070040struct btrfs_block_group_cache *
Feifei Xub9ef22d2016-06-01 19:18:25 +080041btrfs_alloc_dummy_block_group(unsigned long length, u32 sectorsize);
Omar Sandoval7c55ee02015-09-29 20:50:36 -070042void btrfs_free_dummy_block_group(struct btrfs_block_group_cache *cache);
43void btrfs_init_dummy_trans(struct btrfs_trans_handle *trans);
Josef Bacikdc11dd52013-08-14 15:05:12 -040044#else
Feifei Xub9ef22d2016-06-01 19:18:25 +080045static inline int btrfs_test_free_space_cache(u32 sectorsize, u32 nodesize)
Josef Bacikdc11dd52013-08-14 15:05:12 -040046{
47 return 0;
48}
Feifei Xub9ef22d2016-06-01 19:18:25 +080049static inline int btrfs_test_extent_buffer_operations(u32 sectorsize,
50 u32 nodesize)
Josef Bacik06ea65a2013-09-19 16:07:01 -040051{
52 return 0;
53}
Josef Bacik294e30f2013-10-09 12:00:56 -040054static inline int btrfs_init_test_fs(void)
55{
56 return 0;
57}
58static inline void btrfs_destroy_test_fs(void)
59{
60}
Feifei Xub9ef22d2016-06-01 19:18:25 +080061static inline int btrfs_test_extent_io(u32 sectorsize, u32 nodesize)
Josef Bacik294e30f2013-10-09 12:00:56 -040062{
63 return 0;
64}
Feifei Xub9ef22d2016-06-01 19:18:25 +080065static inline int btrfs_test_inodes(u32 sectorsize, u32 nodesize)
Josef Bacikaaedb552013-10-11 14:44:09 -040066{
67 return 0;
68}
Feifei Xub9ef22d2016-06-01 19:18:25 +080069static inline int btrfs_test_qgroups(u32 sectorsize, u32 nodesize)
Josef Bacikfaa2dbf2014-05-07 17:06:09 -040070{
71 return 0;
72}
Feifei Xub9ef22d2016-06-01 19:18:25 +080073static inline int btrfs_test_free_space_tree(u32 sectorsize, u32 nodesize)
Omar Sandoval7c55ee02015-09-29 20:50:36 -070074{
75 return 0;
76}
Josef Bacikdc11dd52013-08-14 15:05:12 -040077#endif
78
79#endif