• Filipe Manana's avatar
    btrfs: remove no longer necessary chunk mutex locking cases · f22f457a
    Filipe Manana authored
    Initially when the 'removed' flag was added to a block group to avoid
    races between block group removal and fitrim, by commit 04216820
    ("Btrfs: fix race between fs trimming and block group remove/allocation"),
    we had to lock the chunks mutex because we could be moving the block
    group from its current list, the pending chunks list, into the pinned
    chunks list, or we could just be adding it to the pinned chunks if it was
    not in the pending chunks list. Both lists were protected by the chunk
    mutex.
    
    However we no longer have those lists since commit 1c11b63e
    ("btrfs: replace pending/pinned chunks lists with io tree"), and locking
    the chunk mutex is no longer necessary because of that. The same happens
    at btrfs_unfreeze_block_group(), we lock the chunk mutex because the block
    group's extent map could be part of the pinned chunks list and the call
    to remove_extent_mapping() could be deleting it from that list, which
    used to be protected by that mutex.
    
    So just remove those lock and unlock calls as they are not needed anymore.
    Reviewed-by: default avatarNikolay Borisov <nborisov@suse.com>
    Signed-off-by: default avatarFilipe Manana <fdmanana@suse.com>
    Signed-off-by: default avatarDavid Sterba <dsterba@suse.com>
    f22f457a
block-group.c 97 KB