OSDN Git Service

btrfs: zoned: allow DUP on meta-data block groups
authorJohannes Thumshirn <johannes.thumshirn@wdc.com>
Wed, 26 Jan 2022 13:46:23 +0000 (05:46 -0800)
committerDavid Sterba <dsterba@suse.com>
Mon, 14 Mar 2022 12:13:49 +0000 (13:13 +0100)
commit265f7237dd258e1d4d0b3f84ffea92d7d1c08861
tree6ba3a8313eed76f625364e9d34ea888fa88d144f
parentdbfcc18f27218841ea326bd4072f18f3a165abc3
btrfs: zoned: allow DUP on meta-data block groups

Allow creating or reading block-groups on a zoned device with DUP as a
meta-data profile.

This works because we're using the zoned_meta_io_lock and REQ_OP_WRITE
operations for meta-data on zoned btrfs, so all writes to meta-data zones
are aligned to the zone's write-pointer.

Upon loading of the block-group, it is ensured both zones do have the same
zone capacity and write-pointer offsets, so no extra machinery is needed
to keep the write-pointers in sync for the meta-data zones. If this
prerequisite is not met, loading of the block-group is refused.

Signed-off-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/zoned.c