The memory allocation failure is BUG_ON in add_excluded_extent (following
the code path) and btrfs_rmap_block. No need to BUG_ON -ENOMEM inside
exclude_super_stripes itself.

Its return value is always 0, and useless for its callers. Set it as void
instead 0-returned.

Signed-off-by: Wang Sheng-Hui <shh...@gmail.com>
---
 fs/btrfs/extent-tree.c |   20 +++++++-------------
 1 files changed, 7 insertions(+), 13 deletions(-)

diff --git a/fs/btrfs/extent-tree.c b/fs/btrfs/extent-tree.c
index ba58024..95492cc 100644
--- a/fs/btrfs/extent-tree.c
+++ b/fs/btrfs/extent-tree.c
@@ -234,39 +234,33 @@ static void free_excluded_extents(struct btrfs_root *root,
                          start, end, EXTENT_UPTODATE, GFP_NOFS);
 }
 
-static int exclude_super_stripes(struct btrfs_root *root,
+static void exclude_super_stripes(struct btrfs_root *root,
                                 struct btrfs_block_group_cache *cache)
 {
        u64 bytenr;
        u64 *logical;
        int stripe_len;
-       int i, nr, ret;
+       int i, nr;
 
        if (cache->key.objectid < BTRFS_SUPER_INFO_OFFSET) {
                stripe_len = BTRFS_SUPER_INFO_OFFSET - cache->key.objectid;
                cache->bytes_super += stripe_len;
-               ret = add_excluded_extent(root, cache->key.objectid,
-                                         stripe_len);
-               BUG_ON(ret); /* -ENOMEM */
+               add_excluded_extent(root, cache->key.objectid, stripe_len);
        }
 
        for (i = 0; i < BTRFS_SUPER_MIRROR_MAX; i++) {
                bytenr = btrfs_sb_offset(i);
-               ret = btrfs_rmap_block(&root->fs_info->mapping_tree,
-                                      cache->key.objectid, bytenr,
-                                      0, &logical, &nr, &stripe_len);
-               BUG_ON(ret); /* -ENOMEM */
+               btrfs_rmap_block(&root->fs_info->mapping_tree,
+                                cache->key.objectid, bytenr,
+                                0, &logical, &nr, &stripe_len);
 
                while (nr--) {
                        cache->bytes_super += stripe_len;
-                       ret = add_excluded_extent(root, logical[nr],
-                                                 stripe_len);
-                       BUG_ON(ret); /* -ENOMEM */
+                       add_excluded_extent(root, logical[nr], stripe_len);
                }
 
                kfree(logical);
        }
-       return 0;
 }
 
 static struct btrfs_caching_control *
-- 
1.7.1
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to