mbox series

[0/4] btrfs: implement metadata DUP for zoned mode

Message ID cover.1643185812.git.johannes.thumshirn@wdc.com (mailing list archive)
Headers show
Series btrfs: implement metadata DUP for zoned mode | expand

Message

Johannes Thumshirn Jan. 26, 2022, 8:59 a.m. UTC
Btrfs' default block-group profile for metadata on rotating devices has been
DUP for a long time. Recently the default also changed for non-rotating
devices.

Technically, there is no reason why btrfs on zoned devices can't use DUP for
metadata as well. All I/O to metadata block-groups is serialized via the
zoned_meta_io_lock and written with regular REQ_OP_WRITE operations. Therefore
reordering due to REQ_OP_ZONE_APPEND cannot happen on metadata (as opposed to
data).

The first three patches lay the groundwork by making sure zoned btrfs can work
with more than one stripe and the last patch then implements DUP on metadata
block groups in zoned btrfs.

Johannes Thumshirn (4):
  btrfs: zoned: make zone activation multi stripe capable
  btrfs: zoned: make zone finishing multi stripe capable
  btrfs: zoned: prepare for allowing DUP on zoned
  btrfs: zoned: allow DUP on meta-data block groups

 fs/btrfs/zoned.c | 162 ++++++++++++++++++++++++++++++-----------------
 1 file changed, 105 insertions(+), 57 deletions(-)

Comments

Johannes Thumshirn Jan. 26, 2022, 9:15 a.m. UTC | #1
On Wed, 2022-01-26 at 00:59 -0800, Johannes Thumshirn wrote:
> Btrfs' default block-group profile for metadata on rotating devices
> has been
> DUP for a long time. Recently the default also changed for non-
> rotating
> devices.
> 
> Technically, there is no reason why btrfs on zoned devices can't use
> DUP for
> metadata as well. All I/O to metadata block-groups is serialized via
> the
> zoned_meta_io_lock and written with regular REQ_OP_WRITE operations.
> Therefore
> reordering due to REQ_OP_ZONE_APPEND cannot happen on metadata (as
> opposed to
> data).
> 


Please disregard this series, I've forgot to git commit --amend a part.

Will send a v2 shortly.