Add tests for btrfs' raid-stripe-tree feature. All of these test work by writing a specific pattern to a newly created filesystem and afterwards using `btrfs inspect-internal -t raid-stripe $SCRATCH_DEV_POOL` to verify the placement and the layout of the metadata. The md5sum of each file will be compared as well after a re-mount of the filesystem. --- Changes in v6: - require 4k pagesize for all tests as output depends on page size - Add Filipe's Reviewed-by - Link to v5: https://lore.kernel.org/r/20231207-btrfs-raid-v5-0-44aa1affe856@xxxxxxx Changes in v5: - add _require_btrfs_free_space_tree helper and use in tests - Link to v4: https://lore.kernel.org/r/20231206-btrfs-raid-v4-0-578284dd3a70@xxxxxxx Changes in v4: - add _require_btrfs_no_compress to all tests - add _require_btrfs_no_nodatacow helper and add to btrfs/308 - add _require_btrfs_feature "free_space_tree" to all tests - Link to v3: https://lore.kernel.org/r/20231205-btrfs-raid-v3-0-0e857a5439a2@xxxxxxx Changes in v3: - added 'raid-stripe-tree' to mkfs options, as only zoned raid gets it automatically - Rename test cases as btrfs/302 and btrfs/303 already exist upstream - Link to v2: https://lore.kernel.org/r/20231205-btrfs-raid-v2-0-25f80eea345b@xxxxxxx Changes in v2: - Re-ordered series so the newly introduced group is added before the tests - Changes Filipe requested to the tests. - Link to v1: https://lore.kernel.org/r/20231204-btrfs-raid-v1-0-b254eb1bcff8@xxxxxxx --- Johannes Thumshirn (9): fstests: doc: add new raid-stripe-tree group common: add filter for btrfs raid-stripe dump common: add _require_btrfs_no_nodatacow helper common: add _require_btrfs_free_space_tree btrfs: add fstest for stripe-tree metadata with 4k write btrfs: add fstest for 8k write spanning two stripes on raid-stripe-tree btrfs: add fstest for writing to a file at an offset with RST btrfs: add fstests to write 128k to a RST filesystem btrfs: add fstest for overwriting a file partially with RST common/btrfs | 17 +++++++++ common/filter.btrfs | 14 +++++++ doc/group-names.txt | 1 + tests/btrfs/304 | 58 ++++++++++++++++++++++++++++ tests/btrfs/304.out | 58 ++++++++++++++++++++++++++++ tests/btrfs/305 | 63 +++++++++++++++++++++++++++++++ tests/btrfs/305.out | 82 ++++++++++++++++++++++++++++++++++++++++ tests/btrfs/306 | 61 ++++++++++++++++++++++++++++++ tests/btrfs/306.out | 75 +++++++++++++++++++++++++++++++++++++ tests/btrfs/307 | 58 ++++++++++++++++++++++++++++ tests/btrfs/307.out | 65 ++++++++++++++++++++++++++++++++ tests/btrfs/308 | 62 ++++++++++++++++++++++++++++++ tests/btrfs/308.out | 106 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 13 files changed, 720 insertions(+) --- base-commit: e8a1c16502fad2660d29de5835c4c84700b1f11a change-id: 20231204-btrfs-raid-75975797f97d Best regards, -- Johannes Thumshirn <johannes.thumshirn@xxxxxxx>