diff options
Diffstat (limited to 'fs/btrfs/tests/btrfs-tests.c')
-rw-r--r-- | fs/btrfs/tests/btrfs-tests.c | 47 |
1 files changed, 45 insertions, 2 deletions
diff --git a/fs/btrfs/tests/btrfs-tests.c b/fs/btrfs/tests/btrfs-tests.c index 02223f3f78f4..71d9a0129347 100644 --- a/fs/btrfs/tests/btrfs-tests.c +++ b/fs/btrfs/tests/btrfs-tests.c | |||
@@ -54,7 +54,7 @@ struct inode *btrfs_new_test_inode(void) | |||
54 | return new_inode(test_mnt->mnt_sb); | 54 | return new_inode(test_mnt->mnt_sb); |
55 | } | 55 | } |
56 | 56 | ||
57 | int btrfs_init_test_fs(void) | 57 | static int btrfs_init_test_fs(void) |
58 | { | 58 | { |
59 | int ret; | 59 | int ret; |
60 | 60 | ||
@@ -73,7 +73,7 @@ int btrfs_init_test_fs(void) | |||
73 | return 0; | 73 | return 0; |
74 | } | 74 | } |
75 | 75 | ||
76 | void btrfs_destroy_test_fs(void) | 76 | static void btrfs_destroy_test_fs(void) |
77 | { | 77 | { |
78 | kern_unmount(test_mnt); | 78 | kern_unmount(test_mnt); |
79 | unregister_filesystem(&test_type); | 79 | unregister_filesystem(&test_type); |
@@ -220,3 +220,46 @@ void btrfs_init_dummy_trans(struct btrfs_trans_handle *trans) | |||
220 | INIT_LIST_HEAD(&trans->qgroup_ref_list); | 220 | INIT_LIST_HEAD(&trans->qgroup_ref_list); |
221 | trans->type = __TRANS_DUMMY; | 221 | trans->type = __TRANS_DUMMY; |
222 | } | 222 | } |
223 | |||
224 | int btrfs_run_sanity_tests(void) | ||
225 | { | ||
226 | int ret, i; | ||
227 | u32 sectorsize, nodesize; | ||
228 | u32 test_sectorsize[] = { | ||
229 | PAGE_SIZE, | ||
230 | }; | ||
231 | ret = btrfs_init_test_fs(); | ||
232 | if (ret) | ||
233 | return ret; | ||
234 | for (i = 0; i < ARRAY_SIZE(test_sectorsize); i++) { | ||
235 | sectorsize = test_sectorsize[i]; | ||
236 | for (nodesize = sectorsize; | ||
237 | nodesize <= BTRFS_MAX_METADATA_BLOCKSIZE; | ||
238 | nodesize <<= 1) { | ||
239 | pr_info("BTRFS: selftest: sectorsize: %u nodesize: %u\n", | ||
240 | sectorsize, nodesize); | ||
241 | ret = btrfs_test_free_space_cache(sectorsize, nodesize); | ||
242 | if (ret) | ||
243 | goto out; | ||
244 | ret = btrfs_test_extent_buffer_operations(sectorsize, | ||
245 | nodesize); | ||
246 | if (ret) | ||
247 | goto out; | ||
248 | ret = btrfs_test_extent_io(sectorsize, nodesize); | ||
249 | if (ret) | ||
250 | goto out; | ||
251 | ret = btrfs_test_inodes(sectorsize, nodesize); | ||
252 | if (ret) | ||
253 | goto out; | ||
254 | ret = btrfs_test_qgroups(sectorsize, nodesize); | ||
255 | if (ret) | ||
256 | goto out; | ||
257 | ret = btrfs_test_free_space_tree(sectorsize, nodesize); | ||
258 | if (ret) | ||
259 | goto out; | ||
260 | } | ||
261 | } | ||
262 | out: | ||
263 | btrfs_destroy_test_fs(); | ||
264 | return ret; | ||
265 | } | ||