btrfs: qgroup: Fix a rebase bug which will cause qgroup double free
authorQu Wenruo <quwenruo@cn.fujitsu.com>
Mon, 26 Oct 2015 06:11:19 +0000 (14:11 +0800)
committerChris Mason <clm@fb.com>
Tue, 27 Oct 2015 02:44:39 +0000 (19:44 -0700)
When rebasing my patchset, I forgot to pick up a cleanup patch to remove
old hotfix in 4.2 release.

Witouth the cleanup, it will screw up new qgroup reserve framework and
always cause minus reserved number.

Signed-off-by: Qu Wenruo <quwenruo@cn.fujitsu.com>
Signed-off-by: Chris Mason <clm@fb.com>
fs/btrfs/qgroup.c

index 31d1934..46476c2 100644 (file)
@@ -1652,10 +1652,6 @@ static int qgroup_update_counters(struct btrfs_fs_info *fs_info,
                        }
                }
 
-               /* For exclusive extent, free its reserved bytes too */
-               if (nr_old_roots == 0 && nr_new_roots == 1 &&
-                   cur_new_count == nr_new_roots)
-                       qg->reserved -= num_bytes;
                if (dirty)
                        qgroup_dirty(fs_info, qg);
        }