diff mbox series

[RFC] btrfs: Remove the experimental warning for sectorsize < pagesize

Message ID cc79c6ab354931b61a2dbd3900e253877b78913f.1711959592.git.ritesh.list@gmail.com (mailing list archive)
State New
Headers show
Series [RFC] btrfs: Remove the experimental warning for sectorsize < pagesize | expand

Commit Message

Ritesh Harjani (IBM) April 1, 2024, 9:23 a.m. UTC
Support for sector size < pagesize in btrfs was added a while back
and btrfsprogs has been defaulted to 4k sector size by default.
This also means that btrfs has stabilized sectorsize < pagesize path,
so let's remove the experimental warning and make it a info message.

Signed-off-by: Ritesh Harjani (IBM) <ritesh.list@gmail.com>
---

So, I see portability was one of the main reason for the switching default
sectorsize to 4k [1] and also sectorsize < pagesize is considered to be stable 
enough for the switch.

Given, that btrfsprogs v6.7 has already defaulted to 4k sectorsize, can we get
rid of this "experimental" warning msg causing confusion among people of 
whether their data is at risk? 

Or do we still consider this experimental and in what way?
Also do we have any unsupported btrfs features remaining with, 
sectorsize < pagesize ?

[1]: https://lore.kernel.org/linux-btrfs/20231116160235.2708131-1-neal@gompa.dev/

 fs/btrfs/disk-io.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

--
2.39.2

Comments

Qu Wenruo April 1, 2024, 9:33 a.m. UTC | #1
在 2024/4/1 19:53, Ritesh Harjani (IBM) 写道:
> Support for sector size < pagesize in btrfs was added a while back
> and btrfsprogs has been defaulted to 4k sector size by default.
> This also means that btrfs has stabilized sectorsize < pagesize path,
> so let's remove the experimental warning and make it a info message.
>
> Signed-off-by: Ritesh Harjani (IBM) <ritesh.list@gmail.com>
> ---
>
> So, I see portability was one of the main reason for the switching default
> sectorsize to 4k [1] and also sectorsize < pagesize is considered to be stable
> enough for the switch.
>
> Given, that btrfsprogs v6.7 has already defaulted to 4k sectorsize, can we get
> rid of this "experimental" warning msg causing confusion among people of
> whether their data is at risk?
>
> Or do we still consider this experimental and in what way?
> Also do we have any unsupported btrfs features remaining with,
> sectorsize < pagesize ?

The remaining missing features for subpage support are:

- Zoned devices support
   For zoned + subpage, it's going to crash very easily if we have
   multiple separated dirty ranges inside a page.

   The fix is already submitted, waiting for review:
   https://lore.kernel.org/linux-btrfs/cover.1709781158.git.wqu@suse.com/
   https://lore.kernel.org/linux-btrfs/cover.1708322044.git.wqu@suse.com/

- No sector perfect compression support
   Aka, compression would only happen for PAGE aligned ranges (both
   start and length must be PAGE aligned).

   This is going to be improved by patchset:
   https://lore.kernel.org/linux-btrfs/cover.1708322044.git.wqu@suse.com/

   And based on that, I see a chance to support sector perfect
   compression.

- No inline support
   This is also related to above patchset, but it's a less obvious
   behavior.

IIRC that's the reason we still consider subpage btrfs support
experimental, even if we have quite a lot of subpage btrfs users from
Asahi Linux.

Thanks,
Qu

>
> [1]: https://lore.kernel.org/linux-btrfs/20231116160235.2708131-1-neal@gompa.dev/
>
>   fs/btrfs/disk-io.c | 4 ++--
>   1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/fs/btrfs/disk-io.c b/fs/btrfs/disk-io.c
> index bececdd63b4d..e4eff84e1d83 100644
> --- a/fs/btrfs/disk-io.c
> +++ b/fs/btrfs/disk-io.c
> @@ -3350,8 +3350,8 @@ int __cold open_ctree(struct super_block *sb, struct btrfs_fs_devices *fs_device
>   	if (sectorsize < PAGE_SIZE) {
>   		struct btrfs_subpage_info *subpage_info;
>
> -		btrfs_warn(fs_info,
> -		"read-write for sector size %u with page size %lu is experimental",
> +		btrfs_info(fs_info,
> +		"read-write for sector size %u with page size %lu is being utilized",
>   			   sectorsize, PAGE_SIZE);
>   		subpage_info = kzalloc(sizeof(*subpage_info), GFP_KERNEL);
>   		if (!subpage_info) {
> --
> 2.39.2
>
>
diff mbox series

Patch

diff --git a/fs/btrfs/disk-io.c b/fs/btrfs/disk-io.c
index bececdd63b4d..e4eff84e1d83 100644
--- a/fs/btrfs/disk-io.c
+++ b/fs/btrfs/disk-io.c
@@ -3350,8 +3350,8 @@  int __cold open_ctree(struct super_block *sb, struct btrfs_fs_devices *fs_device
 	if (sectorsize < PAGE_SIZE) {
 		struct btrfs_subpage_info *subpage_info;

-		btrfs_warn(fs_info,
-		"read-write for sector size %u with page size %lu is experimental",
+		btrfs_info(fs_info,
+		"read-write for sector size %u with page size %lu is being utilized",
 			   sectorsize, PAGE_SIZE);
 		subpage_info = kzalloc(sizeof(*subpage_info), GFP_KERNEL);
 		if (!subpage_info) {