Btrfs: avoid memory leak of extent state in error handling routine
authorLiu Bo <liubo2009@cn.fujitsu.com>
Thu, 14 Jun 2012 08:23:20 +0000 (02:23 -0600)
committerChris Mason <chris.mason@fusionio.com>
Fri, 15 Jun 2012 15:42:27 +0000 (11:42 -0400)
commit6e841e32b159e298debbb2cb0e9158e894fcaf05
tree283946b4a93289a2e667ab729bdd962a52a67d6e
parent4e42ae1bdcda77fc958a17d7ff4ba5a9c9c207da
Btrfs: avoid memory leak of extent state in error handling routine

We've forgotten to clear extent states in pinned tree, which will results in
space counter mismatch and memory leak:

WARNING: at fs/btrfs/extent-tree.c:7537 btrfs_free_block_groups+0x1f3/0x2e0 [btrfs]()
...
space_info 2 has 8380416 free, is not full
space_info total=12582912, used=4096, pinned=4096, reserved=0, may_use=0, readonly=4194304
btrfs state leak: start 29364224 end 29376511 state 1 in tree ffff880075f20090 refs 1
...

Signed-off-by: Liu Bo <liubo2009@cn.fujitsu.com>
Signed-off-by: Chris Mason <chris.mason@fusionio.com>
fs/btrfs/disk-io.c