• Naohiro Aota's avatar
    btrfs: zoned: activate metadata block group on flush_space · b0931513
    Naohiro Aota authored
    For metadata space on zoned filesystem, reaching ALLOC_CHUNK{,_FORCE}
    means we don't have enough space left in the active_total_bytes. Before
    allocating a new chunk, we can try to activate an existing block group
    in this case.
    
    Also, allocating a chunk is not enough to grant a ticket for metadata
    space on zoned filesystem we need to activate the block group to
    increase the active_total_bytes.
    
    btrfs_zoned_activate_one_bg() implements the activation feature. It will
    activate a block group by (maybe) finishing a block group. It will give up
    activating a block group if it cannot finish any block group.
    
    CC: stable@vger.kernel.org # 5.16+
    Fixes: afba2bc0 ("btrfs: zoned: implement active zone tracking")
    Signed-off-by: default avatarNaohiro Aota <naohiro.aota@wdc.com>
    Signed-off-by: default avatarDavid Sterba <dsterba@suse.com>
    b0931513
zoned.c 57.3 KB