mbox series

[v2,0/4] btrfs: allow creating inline data extents for sector size < page size case

Message ID cover.1739608189.git.wqu@suse.com (mailing list archive)
Headers show
Series btrfs: allow creating inline data extents for sector size < page size case | expand

Message

Qu Wenruo Feb. 15, 2025, 8:34 a.m. UTC
[CHANGELOG]
v2:
- Add the previous inline read fix into the series
- Add a patch to remove the subpage experimental warning message
  The main reason for the warning is the lack of some features, but it's
  no longer the case.

For btrfs block size < page size (subpage), there used to a list of
features that are not supported:

- RAID56
  Added in v5.19

- Block perfect compressed write
  Added in v6.13, previously only page aligned range can go through
  compressed write path.

- Inline data extent creation

But now the only feature that is missing is only inline data extent
creation.

And all technical problems are solved in v6.13, it's time for us to
allow subpage btrfs to create inline data extents.

The first patch is to fix a bug that can only be triggered with recent
partial uptodate folio support.

The second patch fixes a minor issue for qgroup accounting for inlined
data extents.

The third path enables inline data extent creation for subpage btrfs.

And finally remove the experimental warning message for subpage btrfs.

Qu Wenruo (4):
  btrfs: fix inline data extent reads which zero out the remaining part
  btrfs: fix the qgroup data free range for inline data extents
  btrfs: allow inline data extents creation if sector size < page size
  btrfs: remove the subpage related warning message

 fs/btrfs/disk-io.c |  5 -----
 fs/btrfs/inode.c   | 30 ++++++++++--------------------
 2 files changed, 10 insertions(+), 25 deletions(-)

Comments

Neal Gompa Feb. 15, 2025, 2:42 p.m. UTC | #1
On Sat, Feb 15, 2025 at 3:34 AM Qu Wenruo <wqu@suse.com> wrote:
>
> [CHANGELOG]
> v2:
> - Add the previous inline read fix into the series
> - Add a patch to remove the subpage experimental warning message
>   The main reason for the warning is the lack of some features, but it's
>   no longer the case.
>
> For btrfs block size < page size (subpage), there used to a list of
> features that are not supported:
>
> - RAID56
>   Added in v5.19
>
> - Block perfect compressed write
>   Added in v6.13, previously only page aligned range can go through
>   compressed write path.
>
> - Inline data extent creation
>
> But now the only feature that is missing is only inline data extent
> creation.
>
> And all technical problems are solved in v6.13, it's time for us to
> allow subpage btrfs to create inline data extents.
>
> The first patch is to fix a bug that can only be triggered with recent
> partial uptodate folio support.
>
> The second patch fixes a minor issue for qgroup accounting for inlined
> data extents.
>
> The third path enables inline data extent creation for subpage btrfs.
>
> And finally remove the experimental warning message for subpage btrfs.
>
> Qu Wenruo (4):
>   btrfs: fix inline data extent reads which zero out the remaining part
>   btrfs: fix the qgroup data free range for inline data extents
>   btrfs: allow inline data extents creation if sector size < page size
>   btrfs: remove the subpage related warning message
>
>  fs/btrfs/disk-io.c |  5 -----
>  fs/btrfs/inode.c   | 30 ++++++++++--------------------
>  2 files changed, 10 insertions(+), 25 deletions(-)
>
> --
> 2.48.1
>
>

This is fantastic! :)

The series looks good to me, so...

Reviewed-by: Neal Gompa <neal@gompa.dev>