diff mbox series

btrfs: move block perfect compression out of experimental features

Message ID d79b3627f9b2aed116c930bad3048da3aabcb2bd.1742028548.git.wqu@suse.com (mailing list archive)
State New
Headers show
Series btrfs: move block perfect compression out of experimental features | expand

Commit Message

Qu Wenruo March 15, 2025, 8:49 a.m. UTC
Commit 1d2fbb7f1f9e ("btrfs: allow compression even if the range is not
page aligned") introduced the block perfect compression for block size <
page size cases.

Before that commit, if the fs block size is smaller than page size (aka
subpage cases), compressed write is only enabled if the dirty range is
fully page aligned.

This block perfect compression support is introduced in v6.13, and has
been tested for two kernel releases.
I believe it's time to move it out of experimental features so that we
can get more tests in the real world.

Signed-off-by: Qu Wenruo <wqu@suse.com>
---
 fs/btrfs/inode.c | 15 ---------------
 1 file changed, 15 deletions(-)

Comments

Johannes Thumshirn March 17, 2025, 7:27 a.m. UTC | #1
Looks good,
Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
David Sterba March 18, 2025, 4:30 p.m. UTC | #2
On Sat, Mar 15, 2025 at 07:19:26PM +1030, Qu Wenruo wrote:
> Commit 1d2fbb7f1f9e ("btrfs: allow compression even if the range is not
> page aligned") introduced the block perfect compression for block size <
> page size cases.
> 
> Before that commit, if the fs block size is smaller than page size (aka
> subpage cases), compressed write is only enabled if the dirty range is
> fully page aligned.
> 
> This block perfect compression support is introduced in v6.13, and has
> been tested for two kernel releases.
> I believe it's time to move it out of experimental features so that we
> can get more tests in the real world.

I think this is ok, the subpage is not that common and the compression
is a basic feature that we need to get tested more thoroughly anyway.

Reviewed-by: David Sterba <dsterba@suse.com>
diff mbox series

Patch

diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c
index ae2846b9f666..f47307b885e7 100644
--- a/fs/btrfs/inode.c
+++ b/fs/btrfs/inode.c
@@ -785,21 +785,6 @@  static inline int inode_need_compress(struct btrfs_inode *inode, u64 start,
 			btrfs_ino(inode));
 		return 0;
 	}
-	/*
-	 * Only enable sector perfect compression for experimental builds.
-	 *
-	 * This is a big feature change for subpage cases, and can hit
-	 * different corner cases, so only limit this feature for
-	 * experimental build for now.
-	 *
-	 * ETA for moving this out of experimental builds is 6.15.
-	 */
-	if (fs_info->sectorsize < PAGE_SIZE &&
-	    !IS_ENABLED(CONFIG_BTRFS_EXPERIMENTAL)) {
-		if (!PAGE_ALIGNED(start) ||
-		    !PAGE_ALIGNED(end + 1))
-			return 0;
-	}
 
 	/* force compress */
 	if (btrfs_test_opt(fs_info, FORCE_COMPRESS))