btrfs-progs: move raid-stripe-tree and squota build out of experimental

The kernel patches for RST and squota are queued for 6.7, we need to be
able to test the features so it's not necessary to hide the mkfs support
under experimental build. The kernel may still need debug build to
enable mount.

Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
David Sterba 2023-10-10 21:10:00 +02:00
parent 10bc66034f
commit b421fdff95
5 changed files with 2 additions and 14 deletions

View File

@ -221,7 +221,6 @@ static const struct btrfs_feature mkfs_features[] = {
VERSION_NULL(default), VERSION_NULL(default),
.desc = "block group tree to reduce mount time" .desc = "block group tree to reduce mount time"
}, },
#if EXPERIMENTAL
{ {
.name = "rst", .name = "rst",
.incompat_flag = BTRFS_FEATURE_INCOMPAT_RAID_STRIPE_TREE, .incompat_flag = BTRFS_FEATURE_INCOMPAT_RAID_STRIPE_TREE,
@ -247,7 +246,6 @@ static const struct btrfs_feature mkfs_features[] = {
VERSION_NULL(default), VERSION_NULL(default),
.desc = "squota support (simple accounting qgroups)" .desc = "squota support (simple accounting qgroups)"
}, },
#endif
/* Keep this one last */ /* Keep this one last */
{ {
.name = "list-all", .name = "list-all",

View File

@ -123,6 +123,7 @@ static inline u32 __BTRFS_LEAF_DATA_SIZE(u32 nodesize)
BTRFS_FEATURE_INCOMPAT_RAID1C34 | \ BTRFS_FEATURE_INCOMPAT_RAID1C34 | \
BTRFS_FEATURE_INCOMPAT_METADATA_UUID | \ BTRFS_FEATURE_INCOMPAT_METADATA_UUID | \
BTRFS_FEATURE_INCOMPAT_ZONED | \ BTRFS_FEATURE_INCOMPAT_ZONED | \
BTRFS_FEATURE_INCOMPAT_RAID_STRIPE_TREE | \
BTRFS_FEATURE_INCOMPAT_SIMPLE_QUOTA) BTRFS_FEATURE_INCOMPAT_SIMPLE_QUOTA)
#endif #endif

View File

@ -1295,7 +1295,6 @@ int btrfs_setup_all_roots(struct btrfs_fs_info *fs_info, u64 root_tree_bytenr,
return -EIO; return -EIO;
} }
#if EXPERIMENTAL
if (btrfs_fs_incompat(fs_info, RAID_STRIPE_TREE)) { if (btrfs_fs_incompat(fs_info, RAID_STRIPE_TREE)) {
ret = btrfs_find_and_setup_root(root, fs_info, ret = btrfs_find_and_setup_root(root, fs_info,
BTRFS_RAID_STRIPE_TREE_OBJECTID, BTRFS_RAID_STRIPE_TREE_OBJECTID,
@ -1307,7 +1306,6 @@ int btrfs_setup_all_roots(struct btrfs_fs_info *fs_info, u64 root_tree_bytenr,
set_bit(BTRFS_ROOT_TRACK_DIRTY, &fs_info->stripe_root->state); set_bit(BTRFS_ROOT_TRACK_DIRTY, &fs_info->stripe_root->state);
} }
} }
#endif
if (maybe_load_block_groups(fs_info, flags)) { if (maybe_load_block_groups(fs_info, flags)) {
ret = btrfs_read_block_groups(fs_info); ret = btrfs_read_block_groups(fs_info);

View File

@ -757,7 +757,6 @@ bool zoned_profile_supported(u64 map_type, bool rst)
if (flags == 0) if (flags == 0)
return true; return true;
#if EXPERIMENTAL
if (data) { if (data) {
if ((flags & BTRFS_BLOCK_GROUP_DUP) && rst) if ((flags & BTRFS_BLOCK_GROUP_DUP) && rst)
return true; return true;
@ -784,10 +783,6 @@ bool zoned_profile_supported(u64 map_type, bool rst)
if (flags & BTRFS_BLOCK_GROUP_RAID10) if (flags & BTRFS_BLOCK_GROUP_RAID10)
return true; return true;
} }
#else
if (!data && (flags & BTRFS_BLOCK_GROUP_DUP))
return true;
#endif
/* All other profiles are not supported yet */ /* All other profiles are not supported yet */
return false; return false;

View File

@ -1623,7 +1623,6 @@ int BOX_MAIN(mkfs)(int argc, char **argv)
if (ret) if (ret)
goto error; goto error;
#if EXPERIMENTAL
if (opt_zoned && device_count) { if (opt_zoned && device_count) {
switch (data_profile & BTRFS_BLOCK_GROUP_PROFILE_MASK) { switch (data_profile & BTRFS_BLOCK_GROUP_PROFILE_MASK) {
case BTRFS_BLOCK_GROUP_DUP: case BTRFS_BLOCK_GROUP_DUP:
@ -1638,21 +1637,18 @@ int BOX_MAIN(mkfs)(int argc, char **argv)
break; break;
} }
} }
#endif
if (opt_zoned) { if (opt_zoned) {
u64 metadata = BTRFS_BLOCK_GROUP_METADATA | metadata_profile; u64 metadata = BTRFS_BLOCK_GROUP_METADATA | metadata_profile;
u64 data = BTRFS_BLOCK_GROUP_DATA | data_profile; u64 data = BTRFS_BLOCK_GROUP_DATA | data_profile;
bool rst = false; bool rst = false;
#if EXPERIMENTAL
if (features.incompat_flags & BTRFS_FEATURE_INCOMPAT_RAID_STRIPE_TREE) if (features.incompat_flags & BTRFS_FEATURE_INCOMPAT_RAID_STRIPE_TREE)
rst = true; rst = true;
#endif
if (!zoned_profile_supported(metadata, rst) || if (!zoned_profile_supported(metadata, rst) ||
!zoned_profile_supported(data, rst)) { !zoned_profile_supported(data, rst)) {
error("zoned mode does not yet support RAID/DUP profiles, please specify '-d single -m single' manually"); error("zoned mode does not yet support the selected RAID profiles");
goto error; goto error;
} }
} }