Btrfs: self-tests: Fix test_bitmaps fail on 64k sectorsize
authorFeifei Xu <xufeifei@linux.vnet.ibm.com>
Wed, 1 Jun 2016 11:18:29 +0000 (19:18 +0800)
committerDavid Sterba <dsterba@suse.com>
Mon, 6 Jun 2016 15:17:12 +0000 (17:17 +0200)
With 64K sectorsize, 1G sized block group cannot span across bitmaps.
To execute test_bitmaps() function, this commit allocates
"BITS_PER_BITMAP * sectorsize + PAGE_SIZE" sized block group.

Reviewed-by: Josef Bacik <jbacik@fb.com>
Reviewed-by: Chandan Rajendra <chandan@linux.vnet.ibm.com>
Signed-off-by: Feifei Xu <xufeifei@linux.vnet.ibm.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/tests/free-space-tests.c

index 029343b3e854c04144b08c87731a7ec4a7c6a917..3956bb2ff84cab59bf25fc9869cebc83d8606621 100644 (file)
@@ -843,7 +843,13 @@ int btrfs_test_free_space_cache(u32 sectorsize, u32 nodesize)
 
        test_msg("Running btrfs free space cache tests\n");
 
-       cache = btrfs_alloc_dummy_block_group(1024 * 1024 * 1024, sectorsize);
+       /*
+        * For ppc64 (with 64k page size), bytes per bitmap might be
+        * larger than 1G.  To make bitmap test available in ppc64,
+        * alloc dummy block group whose size cross bitmaps.
+        */
+       cache = btrfs_alloc_dummy_block_group(BITS_PER_BITMAP * sectorsize
+                                       + PAGE_SIZE, sectorsize);
        if (!cache) {
                test_msg("Couldn't run the tests\n");
                return 0;