Re: [PATCH v6 03/28] btrfs: Check and enable HMZONED mode

Josef Bacik
2019-12-13T20:39:15Z

On 12/12/19 11:08 PM, Naohiro Aota wrote:
> HMZONED mode cannot be used together with the RAID5/6 profile for now.
> Introduce the function btrfs_check_hmzoned_mode() to check this. This
> function will also check if HMZONED flag is enabled on the file system and
> if the file system consists of zoned devices with equal zone size.
>
> Additionally, as updates to the space cache are in-place, the space cache
> cannot be located over sequential zones and there is no guarantees that the
> device will have enough conventional zones to store this cache. Resolve
> this problem by completely disabling the space cache. This does not
> introduce any problems in HMZONED mode: all the free space is located after
> the allocation pointer and no free space is located before the pointer.
> There is no need to have such cache.
>
> For the same reason, NODATACOW is also disabled.
>
> Also INODE_MAP_CACHE is also disabled to avoid preallocation in the
> INODE_MAP_CACHE inode.
>
> In summary, HMZONED will disable:
>
> | Disabled features | Reason |
> |-------------------+-----------------------------------------------------|
> | RAID5/6 | 1) Non-full stripe write cause overwriting of |
> | | parity block |
> | | 2) Rebuilding on high capacity volume (usually with |
> | | SMR) can lead to higher failure rate |
> |-------------------+-----------------------------------------------------|
> | space_cache (v1) | In-place updating |
> | NODATACOW | In-place updating |
> |-------------------+-----------------------------------------------------|
> | fallocate | Reserved extent will be a write hole |
> | INODE_MAP_CACHE | Need pre-allocation. (and will be deprecated?) |
> |-------------------+-----------------------------------------------------|
> | MIXED_BG | Allocated metadata region will be write holes for |
> | | data writes |
> | async checksum | Not to mix up bios by multiple workers |
>
> Signed-off-by: Damien Le Moal <damien.lemoal@wdc.com>
> Signed-off-by: Naohiro Aota <naohiro.aota@wdc.com>

I assume the progs will be updated to account for these limitations as well?

Reviewed-by: Josef Bacik <josef@toxicpanda.com>

Thanks,

Josef