diff mbox series

[v2] btrfs-progs: fsfeatures: remove the EXPERIMENTAL flags for block group tree runtime feature

Message ID facda201bc63edb92c2cc58339a172479ff4eb95.1676361293.git.wqu@suse.com (mailing list archive)
State New, archived
Headers show
Series [v2] btrfs-progs: fsfeatures: remove the EXPERIMENTAL flags for block group tree runtime feature | expand

Commit Message

Qu Wenruo Feb. 14, 2023, 7:55 a.m. UTC
This block group tree support is already in the v6.1 kernel, and I know
some adventurous users are already recompiling their progs to take
advantage of the new feature.

Especially the block group tree feature would reduce the mount time from
several minutes to several seconds for one of my friend.
(Of course, he is doing an offline convert using btrfstune)

I see now reason to hide this feature behind experimental flags.

This patch would:

- Remove EXPERIMENTAL tag for "block-group-tree" features
  This includes both -R and -O

- Remove EXPERIMENTAL tag for "btrfstune -b" option

Signed-off-by: Qu Wenruo <wqu@suse.com>
---
Changelog:
v2:
- Also enable btrfstune support for block-group-tree
---
 common/fsfeatures.c | 4 ----
 tune/main.c         | 7 +------
 2 files changed, 1 insertion(+), 10 deletions(-)

Comments

David Sterba Feb. 21, 2023, 5:43 p.m. UTC | #1
On Tue, Feb 14, 2023 at 03:55:28PM +0800, Qu Wenruo wrote:
> This block group tree support is already in the v6.1 kernel, and I know
> some adventurous users are already recompiling their progs to take
> advantage of the new feature.
> 
> Especially the block group tree feature would reduce the mount time from
> several minutes to several seconds for one of my friend.
> (Of course, he is doing an offline convert using btrfstune)
> 
> I see now reason to hide this feature behind experimental flags.
> 
> This patch would:
> 
> - Remove EXPERIMENTAL tag for "block-group-tree" features
>   This includes both -R and -O
> 
> - Remove EXPERIMENTAL tag for "btrfstune -b" option

Before a feature is promoted from experimental it needs to be finalized,
which means test, polish the user interface and write documentation if
missing.

You did not change the option name and kept the single letter -b, I
think I said that this was fine for the experimental status but not for
the final version.

Also the reverse conversion (bgt -> extent tree) is still missing,
though it's not the important one it would be nice to have it there for
completeness.
diff mbox series

Patch

diff --git a/common/fsfeatures.c b/common/fsfeatures.c
index 169e47e92582..ddd9c9419e84 100644
--- a/common/fsfeatures.c
+++ b/common/fsfeatures.c
@@ -175,7 +175,6 @@  static const struct btrfs_feature mkfs_features[] = {
 		.desc		= "support zoned devices"
 	},
 #endif
-#if EXPERIMENTAL
 	{
 		.name		= "block-group-tree",
 		.compat_ro_flag	= BTRFS_FEATURE_COMPAT_RO_BLOCK_GROUP_TREE,
@@ -185,7 +184,6 @@  static const struct btrfs_feature mkfs_features[] = {
 		VERSION_NULL(default),
 		.desc		= "block group tree to reduce mount time"
 	},
-#endif
 #if EXPERIMENTAL
 	{
 		.name		= "extent-tree-v2",
@@ -228,7 +226,6 @@  static const struct btrfs_feature runtime_features[] = {
 		VERSION_TO_STRING2(default, 5,15),
 		.desc		= "free space tree (space_cache=v2)"
 	},
-#if EXPERIMENTAL
 	{
 		.name		= "block-group-tree",
 		.compat_ro_flag	= BTRFS_FEATURE_COMPAT_RO_BLOCK_GROUP_TREE,
@@ -238,7 +235,6 @@  static const struct btrfs_feature runtime_features[] = {
 		VERSION_NULL(default),
 		.desc		= "block group tree to reduce mount time"
 	},
-#endif
 	/* Keep this one last */
 	{
 		.name		= "list-all",
diff --git a/tune/main.c b/tune/main.c
index 79b676972b50..3bb6ed58b01d 100644
--- a/tune/main.c
+++ b/tune/main.c
@@ -70,6 +70,7 @@  static const char * const tune_usage[] = {
 	OPTLINE("-x", "enable skinny metadata extent refs (mkfs: skinny-metadata)"),
 	OPTLINE("-n", "enable no-holes feature (mkfs: no-holes, more efficient sparse file representation)"),
 	OPTLINE("-S <0|1>", "set/unset seeding status of a device"),
+	OPTLINE("-b", "enable block group tree (mkfs: block-group-tree, for less mount time)"),
 	"",
 	"UUID changes:",
 	OPTLINE("-u", "rewrite fsid, use a random one"),
@@ -84,7 +85,6 @@  static const char * const tune_usage[] = {
 	"",
 	"EXPERIMENTAL FEATURES:",
 	OPTLINE("--csum CSUM", "switch checksum for data and metadata to CSUM"),
-	OPTLINE("-b", "enable block group tree (mkfs: block-group-tree, for less mount time)"),
 #endif
 	NULL
 };
@@ -124,17 +124,12 @@  int BOX_MAIN(btrfstune)(int argc, char *argv[])
 #endif
 			{ NULL, 0, NULL, 0 }
 		};
-#if EXPERIMENTAL
 		int c = getopt_long(argc, argv, "S:rxfuU:nmM:b", long_options, NULL);
-#else
-		int c = getopt_long(argc, argv, "S:rxfuU:nmM:", long_options, NULL);
-#endif
 
 		if (c < 0)
 			break;
 		switch(c) {
 		case 'b':
-			btrfs_warn_experimental("Feature: conversion to block-group-tree");
 			to_bg_tree = true;
 			break;
 		case 'S':