• L
    Btrfs: fix memory leak of reloc_root · 1c1ea4f7
    Liu Bo 提交于
    When some critical errors occur and FS would be flipped into RO,
    if we have an on-going balance, we can end up with a memory leak
    of root->reloc_root since btrfs_drop_snapshots() bails out
    without freeing reloc_root at the very early start.
    
    However, we're not able to free reloc_root in btrfs_drop_snapshots()
    because its caller, merge_reloc_roots(), still needs to access it to
    cleanup reloc_root's rbtree.
    
    This makes us free reloc_root when we're going to free fs/file roots.
    Signed-off-by: NLiu Bo <bo.li.liu@oracle.com>
    Reviewed-by: NDavid Sterba <dsterba@suse.com>
    Signed-off-by: NDavid Sterba <dsterba@suse.com>
    Signed-off-by: NChris Mason <clm@fb.com>
    1c1ea4f7
disk-io.c 123.1 KB