• N
    btrfs: zoned: wait until zone is finished when allocation didn't progress · 2ce543f4
    Naohiro Aota 提交于
    When the allocated position doesn't progress, we cannot submit IOs to
    finish a block group, but there should be ongoing IOs that will finish a
    block group. So, in that case, we wait for a zone to be finished and retry
    the allocation after that.
    
    Introduce a new flag BTRFS_FS_NEED_ZONE_FINISH for fs_info->flags to
    indicate we need a zone finish to have proceeded. The flag is set when the
    allocator detected it cannot activate a new block group. And, it is cleared
    once a zone is finished.
    
    CC: stable@vger.kernel.org # 5.16+
    Fixes: afba2bc0 ("btrfs: zoned: implement active zone tracking")
    Signed-off-by: NNaohiro Aota <naohiro.aota@wdc.com>
    Signed-off-by: NDavid Sterba <dsterba@suse.com>
    2ce543f4
ctree.h 137.2 KB