summaryrefslogtreecommitdiffstats
path: root/fs/btrfs/super.c
diff options
context:
space:
mode:
authorJosef Bacik2013-08-14 21:05:12 +0200
committerChris Mason2013-09-01 14:15:38 +0200
commitdc11dd5d707a4157882f281c96055d6894d10c8c (patch)
tree57cebbc3b1746c4184d31e09ff452a34842f2340 /fs/btrfs/super.c
parentBtrfs: avoid starting a transaction in the write path (diff)
downloadkernel-qcow2-linux-dc11dd5d707a4157882f281c96055d6894d10c8c.tar.gz
kernel-qcow2-linux-dc11dd5d707a4157882f281c96055d6894d10c8c.tar.xz
kernel-qcow2-linux-dc11dd5d707a4157882f281c96055d6894d10c8c.zip
Btrfs: separate out tests into their own directory
The plan is to have a bunch of unit tests that run when btrfs is loaded when you build with the appropriate config option. My ultimate goal is to have a test for every non-static function we have, but at first I'm going to focus on the things that cause us the most problems. To start out with this just adds a tests/ directory and moves the existing free space cache tests into that directory and sets up all of the infrastructure. Thanks, Signed-off-by: Josef Bacik <jbacik@fusionio.com> Signed-off-by: Chris Mason <chris.mason@fusionio.com>
Diffstat (limited to 'fs/btrfs/super.c')
-rw-r--r--fs/btrfs/super.c19
1 files changed, 14 insertions, 5 deletions
diff --git a/fs/btrfs/super.c b/fs/btrfs/super.c
index 196790375bb3..1bd0bb523660 100644
--- a/fs/btrfs/super.c
+++ b/fs/btrfs/super.c
@@ -56,6 +56,7 @@
#include "rcu-string.h"
#include "dev-replace.h"
#include "free-space-cache.h"
+#include "tests/btrfs-tests.h"
#define CREATE_TRACE_POINTS
#include <trace/events/btrfs.h>
@@ -1762,6 +1763,11 @@ static void btrfs_print_info(void)
"\n");
}
+static int btrfs_run_sanity_tests(void)
+{
+ return btrfs_test_free_space_cache();
+}
+
static int __init init_btrfs_fs(void)
{
int err;
@@ -1804,14 +1810,17 @@ static int __init init_btrfs_fs(void)
if (err)
goto free_delayed_ref;
- err = register_filesystem(&btrfs_fs_type);
- if (err)
- goto unregister_ioctl;
-
btrfs_init_lockdep();
btrfs_print_info();
- btrfs_test_free_space_cache();
+
+ err = btrfs_run_sanity_tests();
+ if (err)
+ goto unregister_ioctl;
+
+ err = register_filesystem(&btrfs_fs_type);
+ if (err)
+ goto unregister_ioctl;
return 0;