Skip to content
  • Josef Bacik's avatar
    btrfs: fix force usage in inc_block_group_ro · a7a63acc
    Josef Bacik authored
    
    
    For some reason we've translated the do_chunk_alloc that goes into
    btrfs_inc_block_group_ro to force in inc_block_group_ro, but these are
    two different things.
    
    force for inc_block_group_ro is used when we are forcing the block group
    read only no matter what, for example when the underlying chunk is
    marked read only.  We need to not do the space check here as this block
    group needs to be read only.
    
    btrfs_inc_block_group_ro() has a do_chunk_alloc flag that indicates that
    we need to pre-allocate a chunk before marking the block group read
    only.  This has nothing to do with forcing, and in fact we _always_ want
    to do the space check in this case, so unconditionally pass false for
    force in this case.
    
    Then fixup inc_block_group_ro to honor force as it's expected and
    documented to do.
    
    Reviewed-by: default avatarNikolay Borisov <nborisov@suse.com>
    Signed-off-by: default avatarJosef Bacik <josef@toxicpanda.com>
    Reviewed-by: default avatarDavid Sterba <dsterba@suse.com>
    Signed-off-by: default avatarDavid Sterba <dsterba@suse.com>
    a7a63acc