btrfs: tests: add separate stub for find_lock_delalloc_range
authorDavid Sterba <dsterba@suse.com>
Fri, 17 Aug 2018 15:28:06 +0000 (17:28 +0200)
committerDavid Sterba <dsterba@suse.com>
Mon, 15 Oct 2018 15:23:34 +0000 (17:23 +0200)
The helper find_lock_delalloc_range is now conditionally built static,
dpending on whether the self-tests are enabled or not. There's a macro
that is supposed to hide the export, used only once. To discourage
further use, drop it an add a public wrapper for the helper needed by
tests.

Reviewed-by: Omar Sandoval <osandov@fb.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/ctree.h
fs/btrfs/extent_io.c
fs/btrfs/extent_io.h
fs/btrfs/tests/extent-io-tests.c

index 441610de9908dadba8062eb2abe510ecb59ad3ac..f4d5eeb2be20b3f3728b767075bcbd2bc0c601d0 100644 (file)
@@ -41,12 +41,6 @@ extern struct kmem_cache *btrfs_path_cachep;
 extern struct kmem_cache *btrfs_free_space_cachep;
 struct btrfs_ordered_sum;
 
-#ifdef CONFIG_BTRFS_FS_RUN_SANITY_TESTS
-#define STATIC noinline
-#else
-#define STATIC static noinline
-#endif
-
 #define BTRFS_MAGIC 0x4D5F53665248425FULL /* ascii _BHRfS_M, no null */
 
 #define BTRFS_MAX_MIRRORS 3
index ba2a13e908a9b17213b75f60021405c213033073..6877a74c74691436a6d0290dc18420900ab6fcfd 100644 (file)
@@ -1563,7 +1563,7 @@ static noinline int lock_delalloc_pages(struct inode *inode,
  *
  * 1 is returned if we find something, 0 if nothing was in the tree
  */
-STATIC u64 find_lock_delalloc_range(struct inode *inode,
+static noinline_for_stack u64 find_lock_delalloc_range(struct inode *inode,
                                    struct extent_io_tree *tree,
                                    struct page *locked_page, u64 *start,
                                    u64 *end, u64 max_bytes)
@@ -1643,6 +1643,17 @@ out_failed:
        return found;
 }
 
+#ifdef CONFIG_BTRFS_FS_RUN_SANITY_TESTS
+u64 btrfs_find_lock_delalloc_range(struct inode *inode,
+                                   struct extent_io_tree *tree,
+                                   struct page *locked_page, u64 *start,
+                                   u64 *end, u64 max_bytes)
+{
+       return find_lock_delalloc_range(inode, tree, locked_page, start, end,
+                       max_bytes);
+}
+#endif
+
 static int __process_pages_contig(struct address_space *mapping,
                                  struct page *locked_page,
                                  pgoff_t start_index, pgoff_t end_index,
index f2ab42d57f02b18b4d0c0f15e308ac2f315481a1..369daa5d4f73d618a3aadf9793bc0bc2cc84c585 100644 (file)
@@ -546,7 +546,7 @@ int free_io_failure(struct extent_io_tree *failure_tree,
                    struct extent_io_tree *io_tree,
                    struct io_failure_record *rec);
 #ifdef CONFIG_BTRFS_FS_RUN_SANITY_TESTS
-noinline u64 find_lock_delalloc_range(struct inode *inode,
+u64 btrfs_find_lock_delalloc_range(struct inode *inode,
                                      struct extent_io_tree *tree,
                                      struct page *locked_page, u64 *start,
                                      u64 *end, u64 max_bytes);
index d9269a531a4d4e0f55d247afc861d5ec32bd5034..9e0f4a01be14a93311987e25e29fe39ee484c518 100644 (file)
@@ -106,7 +106,7 @@ static int test_find_delalloc(u32 sectorsize)
        set_extent_delalloc(&tmp, 0, sectorsize - 1, 0, NULL);
        start = 0;
        end = 0;
-       found = find_lock_delalloc_range(inode, &tmp, locked_page, &start,
+       found = btrfs_find_lock_delalloc_range(inode, &tmp, locked_page, &start,
                                         &end, max_bytes);
        if (!found) {
                test_err("should have found at least one delalloc");
@@ -137,7 +137,7 @@ static int test_find_delalloc(u32 sectorsize)
        set_extent_delalloc(&tmp, sectorsize, max_bytes - 1, 0, NULL);
        start = test_start;
        end = 0;
-       found = find_lock_delalloc_range(inode, &tmp, locked_page, &start,
+       found = btrfs_find_lock_delalloc_range(inode, &tmp, locked_page, &start,
                                         &end, max_bytes);
        if (!found) {
                test_err("couldn't find delalloc in our range");
@@ -171,7 +171,7 @@ static int test_find_delalloc(u32 sectorsize)
        }
        start = test_start;
        end = 0;
-       found = find_lock_delalloc_range(inode, &tmp, locked_page, &start,
+       found = btrfs_find_lock_delalloc_range(inode, &tmp, locked_page, &start,
                                         &end, max_bytes);
        if (found) {
                test_err("found range when we shouldn't have");
@@ -192,7 +192,7 @@ static int test_find_delalloc(u32 sectorsize)
        set_extent_delalloc(&tmp, max_bytes, total_dirty - 1, 0, NULL);
        start = test_start;
        end = 0;
-       found = find_lock_delalloc_range(inode, &tmp, locked_page, &start,
+       found = btrfs_find_lock_delalloc_range(inode, &tmp, locked_page, &start,
                                         &end, max_bytes);
        if (!found) {
                test_err("didn't find our range");
@@ -233,7 +233,7 @@ static int test_find_delalloc(u32 sectorsize)
         * this changes at any point in the future we will need to fix this
         * tests expected behavior.
         */
-       found = find_lock_delalloc_range(inode, &tmp, locked_page, &start,
+       found = btrfs_find_lock_delalloc_range(inode, &tmp, locked_page, &start,
                                         &end, max_bytes);
        if (!found) {
                test_err("didn't find our range");