• Filipe Manana's avatar
    btrfs: simplify error handling of clean_pinned_extents() · 534cf531
    Filipe Manana authored
    At clean_pinned_extents(), whether we end up returning success or failure,
    we pretty much have to do the same things:
    
    1) unlock unused_bg_unpin_mutex
    2) decrement reference count on the previous transaction
    
    We also call btrfs_dec_block_group_ro() in case of failure, but that is
    better done in its caller, btrfs_delete_unused_bgs(), since its the
    caller that calls inc_block_group_ro(), so it should be responsible for
    the decrement operation, as it is in case any of the other functions it
    calls fail.
    
    So move the call to btrfs_dec_block_group_ro() from clean_pinned_extents()
    into  btrfs_delete_unused_bgs() and unify the error and success return
    paths for clean_pinned_extents(), reducing duplicated code and making it
    simpler.
    Signed-off-by: default avatarFilipe Manana <fdmanana@suse.com>
    Signed-off-by: default avatarDavid Sterba <dsterba@suse.com>
    534cf531
block-group.c 95.2 KB