* [PATCH FOR v7.1 0/2] btrfs: move some features out of experimental
@ 2026-02-10 4:02 Qu Wenruo
2026-02-10 4:02 ` [PATCH 1/2] btrfs: move shutdown and remove_bdev callbacks out of experimental features Qu Wenruo
2026-02-10 4:02 ` [PATCH 2/2] btrfs: move larger data folios " Qu Wenruo
0 siblings, 2 replies; 3+ messages in thread
From: Qu Wenruo @ 2026-02-10 4:02 UTC (permalink / raw)
To: linux-btrfs
The two features can be moved out of experimental in v7.1:
- Large data folios
It's introduced in v6.17, but we still have a bug fix related for it
in v6.19.
If there is no new bug exposed I believe it's time to expose this
feature to end users.
- Shutdown and remove_bdev callbacks
It's introduced in v6.19, but there is no major known bug exposed yet.
Furthermore the remove_bdev callback, aka auto-shutdown/degradation
when a device is missing, can affect end users.
Thus we want some feedbacks from early adopters.
Qu Wenruo (2):
btrfs: move shutdown and remove_bdev callbacks out of experimental
features
btrfs: move larger data folios out of experimental features
fs/btrfs/Kconfig | 4 +---
fs/btrfs/btrfs_inode.h | 2 --
fs/btrfs/super.c | 4 ----
3 files changed, 1 insertion(+), 9 deletions(-)
--
2.52.0
^ permalink raw reply [flat|nested] 3+ messages in thread
* [PATCH 1/2] btrfs: move shutdown and remove_bdev callbacks out of experimental features
2026-02-10 4:02 [PATCH FOR v7.1 0/2] btrfs: move some features out of experimental Qu Wenruo
@ 2026-02-10 4:02 ` Qu Wenruo
2026-02-10 4:02 ` [PATCH 2/2] btrfs: move larger data folios " Qu Wenruo
1 sibling, 0 replies; 3+ messages in thread
From: Qu Wenruo @ 2026-02-10 4:02 UTC (permalink / raw)
To: linux-btrfs
These two new callbacks are introduced in v6.19, and it has been two
releases in v7.1.
During that time we have not yet exposed bugs related that two features,
thus it's time to expose them for end users.
It's especially important to expose remove_bdev callback to end users.
That new callback makes btrfs automatically shutdown or go degraded
when a device is missing (depending on if the fs can maintain RW), which
is affecting end users.
We want some feedback from early adopters.
Signed-off-by: Qu Wenruo <wqu@suse.com>
---
fs/btrfs/Kconfig | 2 --
fs/btrfs/super.c | 4 ----
2 files changed, 6 deletions(-)
diff --git a/fs/btrfs/Kconfig b/fs/btrfs/Kconfig
index ede184b6eda1..5e75438e0b73 100644
--- a/fs/btrfs/Kconfig
+++ b/fs/btrfs/Kconfig
@@ -112,8 +112,6 @@ config BTRFS_EXPERIMENTAL
- large folio and block size (> page size) support
- - shutdown ioctl and auto-degradation support
-
- asynchronous checksum generation for data writes
- remap-tree - logical address remapping tree
diff --git a/fs/btrfs/super.c b/fs/btrfs/super.c
index d64d303b6edc..44bc7fb6b24f 100644
--- a/fs/btrfs/super.c
+++ b/fs/btrfs/super.c
@@ -2423,7 +2423,6 @@ static long btrfs_free_cached_objects(struct super_block *sb, struct shrink_cont
return 0;
}
-#ifdef CONFIG_BTRFS_EXPERIMENTAL
static int btrfs_remove_bdev(struct super_block *sb, struct block_device *bdev)
{
struct btrfs_fs_info *fs_info = btrfs_sb(sb);
@@ -2481,7 +2480,6 @@ static void btrfs_shutdown(struct super_block *sb)
btrfs_force_shutdown(fs_info);
}
-#endif
static int btrfs_show_stats(struct seq_file *seq, struct dentry *root)
{
@@ -2511,10 +2509,8 @@ static const struct super_operations btrfs_super_ops = {
.nr_cached_objects = btrfs_nr_cached_objects,
.free_cached_objects = btrfs_free_cached_objects,
.show_stats = btrfs_show_stats,
-#ifdef CONFIG_BTRFS_EXPERIMENTAL
.remove_bdev = btrfs_remove_bdev,
.shutdown = btrfs_shutdown,
-#endif
};
static const struct file_operations btrfs_ctl_fops = {
--
2.52.0
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [PATCH 2/2] btrfs: move larger data folios out of experimental features
2026-02-10 4:02 [PATCH FOR v7.1 0/2] btrfs: move some features out of experimental Qu Wenruo
2026-02-10 4:02 ` [PATCH 1/2] btrfs: move shutdown and remove_bdev callbacks out of experimental features Qu Wenruo
@ 2026-02-10 4:02 ` Qu Wenruo
1 sibling, 0 replies; 3+ messages in thread
From: Qu Wenruo @ 2026-02-10 4:02 UTC (permalink / raw)
To: linux-btrfs
This feature is introduced in v6.17 under experimental, and we had
several small bugs related or exposed by that feature:
e9e3b22ddfa7 ("btrfs: fix beyond-EOF write handling")
18de34daa7c6 ("btrfs: truncate ordered extent when skipping writeback past i_size")
Otherwise the feature is being frequently tested by btrfs developers.
The latest fix only arrived in v6.19, after two releases I think it's time
to move this feature out of experimental.
Signed-off-by: Qu Wenruo <wqu@suse.com>
---
fs/btrfs/Kconfig | 2 +-
fs/btrfs/btrfs_inode.h | 2 --
2 files changed, 1 insertion(+), 3 deletions(-)
diff --git a/fs/btrfs/Kconfig b/fs/btrfs/Kconfig
index 5e75438e0b73..d0451cf93849 100644
--- a/fs/btrfs/Kconfig
+++ b/fs/btrfs/Kconfig
@@ -110,7 +110,7 @@ config BTRFS_EXPERIMENTAL
- extent tree v2 - complex rework of extent tracking
- - large folio and block size (> page size) support
+ - large block size (> page size) support
- asynchronous checksum generation for data writes
diff --git a/fs/btrfs/btrfs_inode.h b/fs/btrfs/btrfs_inode.h
index 73602ee8de3f..9a9d7651d74e 100644
--- a/fs/btrfs/btrfs_inode.h
+++ b/fs/btrfs/btrfs_inode.h
@@ -536,11 +536,9 @@ static inline void btrfs_set_inode_mapping_order(struct btrfs_inode *inode)
ASSERT(is_data_inode(inode));
/* We only allow BITS_PER_LONGS blocks for each bitmap. */
-#ifdef CONFIG_BTRFS_EXPERIMENTAL
mapping_set_folio_order_range(inode->vfs_inode.i_mapping,
inode->root->fs_info->block_min_order,
inode->root->fs_info->block_max_order);
-#endif
}
void btrfs_calculate_block_csum_folio(struct btrfs_fs_info *fs_info,
--
2.52.0
^ permalink raw reply related [flat|nested] 3+ messages in thread
end of thread, other threads:[~2026-02-10 4:03 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-02-10 4:02 [PATCH FOR v7.1 0/2] btrfs: move some features out of experimental Qu Wenruo
2026-02-10 4:02 ` [PATCH 1/2] btrfs: move shutdown and remove_bdev callbacks out of experimental features Qu Wenruo
2026-02-10 4:02 ` [PATCH 2/2] btrfs: move larger data folios " Qu Wenruo
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox