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

Naohiro Aota
2019-12-18T04:17:38Z

On Fri, Dec 13, 2019 at 11:21:07AM -0500, Josef Bacik wrote:
>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

Oops, while it's errored out from mkfs.btrfs, I forgot to add early
check for RAID56 and MIXED_BG. I'll add the checks in the next series.