Btrfs: fix memory leak of empty filesystem after balance
[firefly-linux-kernel-4.4.55.git] / fs / btrfs / extent-tree.c
index cd0b69f57375a30eedda3ffd05ac44cf59660030..a561060f5ffb958667d02748220c1d3b7c946b67 100644 (file)
@@ -8669,6 +8669,12 @@ int btrfs_remove_block_group(struct btrfs_trans_handle *trans,
        BUG_ON(!block_group);
        BUG_ON(!block_group->ro);
 
+       /*
+        * Free the reserved super bytes from this block group before
+        * remove it.
+        */
+       free_excluded_extents(root, block_group);
+
        memcpy(&key, &block_group->key, sizeof(key));
        if (block_group->flags & (BTRFS_BLOCK_GROUP_DUP |
                                  BTRFS_BLOCK_GROUP_RAID1 |