Hello,

This patch fixes a type in update_block_group and memory leak in
btrfs_free_block_groups.

Regards
YZ
----
diff -r bc6bfcf7a158 extent-tree.c
--- a/extent-tree.c     Tue Oct 30 16:56:53 2007 -0400
+++ b/extent-tree.c     Thu Nov 01 16:04:48 2007 +0800
@@ -591,13 +591,13 @@ static int update_block_group(struct btr

                                cache->data = data;
                                if (data) {
-                                       bit_to_clear = BLOCK_GROUP_DATA;
-                                       bit_to_set = BLOCK_GROUP_METADATA;
+                                       bit_to_clear = BLOCK_GROUP_METADATA;
+                                       bit_to_set = BLOCK_GROUP_DATA;
                                        cache->item.flags |=
                                                BTRFS_BLOCK_GROUP_DATA;
                                } else {
-                                       bit_to_clear = BLOCK_GROUP_METADATA;
-                                       bit_to_set = BLOCK_GROUP_DATA;
+                                       bit_to_clear = BLOCK_GROUP_DATA;
+                                       bit_to_set = BLOCK_GROUP_METADATA;
                                        cache->item.flags &=
                                                ~BTRFS_BLOCK_GROUP_DATA;
                                }
@@ -1459,6 +1459,7 @@ int btrfs_free_block_groups(struct btrfs
 {
        u64 start;
        u64 end;
+       u64 ptr;
        int ret;

        while(1) {
@@ -1466,6 +1467,9 @@ int btrfs_free_block_groups(struct btrfs
                                            &start, &end, (unsigned int)-1);
                if (ret)
                        break;
+               ret = get_state_private(&info->block_group_cache, start, &ptr);
+               if (!ret)
+                       kfree((void *)(unsigned long)ptr);
                clear_extent_bits(&info->block_group_cache, start,
                                  end, (unsigned int)-1, GFP_NOFS);
        }

_______________________________________________
Btrfs-devel mailing list
[email protected]
http://oss.oracle.com/mailman/listinfo/btrfs-devel

Reply via email to