[PATCH v3 2/6] btrfs: drop usage of folio_index

Kairui Song posted 6 patches 7 months, 3 weeks ago
[PATCH v3 2/6] btrfs: drop usage of folio_index
Posted by Kairui Song 7 months, 3 weeks ago
From: Kairui Song <kasong@tencent.com>

folio_index is only needed for mixed usage of page cache and swap
cache, for pure page cache usage, the caller can just use
folio->index instead.

It can't be a swap cache folio here.  Swap mapping may only call into fs
through `swap_rw` but btrfs does not use that method for swap.

Signed-off-by: Kairui Song <kasong@tencent.com>
Cc: Chris Mason <clm@fb.com> (maintainer:BTRFS FILE SYSTEM)
Cc: Josef Bacik <josef@toxicpanda.com> (maintainer:BTRFS FILE SYSTEM)
Cc: David Sterba <dsterba@suse.com> (maintainer:BTRFS FILE SYSTEM)
Cc: linux-btrfs@vger.kernel.org (open list:BTRFS FILE SYSTEM)
Reviewed-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Qu Wenruo <wqu@suse.com>
---
 fs/btrfs/extent_io.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/btrfs/extent_io.c b/fs/btrfs/extent_io.c
index 197f5e51c474..e08b50504d13 100644
--- a/fs/btrfs/extent_io.c
+++ b/fs/btrfs/extent_io.c
@@ -3509,7 +3509,7 @@ static void btree_clear_folio_dirty_tag(struct folio *folio)
 	xa_lock_irq(&folio->mapping->i_pages);
 	if (!folio_test_dirty(folio))
 		__xa_clear_mark(&folio->mapping->i_pages,
-				folio_index(folio), PAGECACHE_TAG_DIRTY);
+				folio->index, PAGECACHE_TAG_DIRTY);
 	xa_unlock_irq(&folio->mapping->i_pages);
 }
 
-- 
2.49.0
Re: [PATCH v3 2/6] btrfs: drop usage of folio_index
Posted by David Sterba 7 months, 3 weeks ago
On Thu, May 01, 2025 at 02:10:48AM +0800, Kairui Song wrote:
> From: Kairui Song <kasong@tencent.com>
> 
> folio_index is only needed for mixed usage of page cache and swap
> cache, for pure page cache usage, the caller can just use
> folio->index instead.
> 
> It can't be a swap cache folio here.  Swap mapping may only call into fs
> through `swap_rw` but btrfs does not use that method for swap.
> 
> Signed-off-by: Kairui Song <kasong@tencent.com>
> Cc: Chris Mason <clm@fb.com> (maintainer:BTRFS FILE SYSTEM)
> Cc: Josef Bacik <josef@toxicpanda.com> (maintainer:BTRFS FILE SYSTEM)
> Cc: David Sterba <dsterba@suse.com> (maintainer:BTRFS FILE SYSTEM)
> Cc: linux-btrfs@vger.kernel.org (open list:BTRFS FILE SYSTEM)
> Reviewed-by: Matthew Wilcox (Oracle) <willy@infradead.org>
> Reviewed-by: Qu Wenruo <wqu@suse.com>

I've added the patch to our for-next, so Andrew can drop it from his
patch queue.
Re: [PATCH v3 2/6] btrfs: drop usage of folio_index
Posted by David Sterba 7 months, 3 weeks ago
On Thu, May 01, 2025 at 02:10:48AM +0800, Kairui Song wrote:
> From: Kairui Song <kasong@tencent.com>
> 
> folio_index is only needed for mixed usage of page cache and swap
> cache, for pure page cache usage, the caller can just use
> folio->index instead.
> 
> It can't be a swap cache folio here.  Swap mapping may only call into fs
> through `swap_rw` but btrfs does not use that method for swap.
> 
> Signed-off-by: Kairui Song <kasong@tencent.com>
> Cc: Chris Mason <clm@fb.com> (maintainer:BTRFS FILE SYSTEM)
> Cc: Josef Bacik <josef@toxicpanda.com> (maintainer:BTRFS FILE SYSTEM)
> Cc: David Sterba <dsterba@suse.com> (maintainer:BTRFS FILE SYSTEM)
> Cc: linux-btrfs@vger.kernel.org (open list:BTRFS FILE SYSTEM)
> Reviewed-by: Matthew Wilcox (Oracle) <willy@infradead.org>
> Reviewed-by: Qu Wenruo <wqu@suse.com>

The patch is from a series but seems to be independent. I'd like to take
it through the btrfs tree unless you have other work that depends on it.
Re: [PATCH v3 2/6] btrfs: drop usage of folio_index
Posted by David Hildenbrand 7 months, 3 weeks ago
On 30.04.25 20:10, Kairui Song wrote:
> From: Kairui Song <kasong@tencent.com>
> 
> folio_index is only needed for mixed usage of page cache and swap
> cache, for pure page cache usage, the caller can just use
> folio->index instead.
> 
> It can't be a swap cache folio here.  Swap mapping may only call into fs
> through `swap_rw` but btrfs does not use that method for swap.
> 
> Signed-off-by: Kairui Song <kasong@tencent.com>
> Cc: Chris Mason <clm@fb.com> (maintainer:BTRFS FILE SYSTEM)
> Cc: Josef Bacik <josef@toxicpanda.com> (maintainer:BTRFS FILE SYSTEM)
> Cc: David Sterba <dsterba@suse.com> (maintainer:BTRFS FILE SYSTEM)
> Cc: linux-btrfs@vger.kernel.org (open list:BTRFS FILE SYSTEM)
> Reviewed-by: Matthew Wilcox (Oracle) <willy@infradead.org>
> Reviewed-by: Qu Wenruo <wqu@suse.com>
> ---
>   fs/btrfs/extent_io.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/fs/btrfs/extent_io.c b/fs/btrfs/extent_io.c
> index 197f5e51c474..e08b50504d13 100644
> --- a/fs/btrfs/extent_io.c
> +++ b/fs/btrfs/extent_io.c
> @@ -3509,7 +3509,7 @@ static void btree_clear_folio_dirty_tag(struct folio *folio)
>   	xa_lock_irq(&folio->mapping->i_pages);
>   	if (!folio_test_dirty(folio))
>   		__xa_clear_mark(&folio->mapping->i_pages,
> -				folio_index(folio), PAGECACHE_TAG_DIRTY);
> +				folio->index, PAGECACHE_TAG_DIRTY);
>   	xa_unlock_irq(&folio->mapping->i_pages);
>   }
>   

Reviewed-by: David Hildenbrand <david@redhat.com>

-- 
Cheers,

David / dhildenb
Re: [PATCH v3 2/6] btrfs: drop usage of folio_index
Posted by Andrew Morton 7 months, 3 weeks ago
On Thu,  1 May 2025 02:10:48 +0800 Kairui Song <ryncsn@gmail.com> wrote:

> Cc: Chris Mason <clm@fb.com> (maintainer:BTRFS FILE SYSTEM)
> Cc: Josef Bacik <josef@toxicpanda.com> (maintainer:BTRFS FILE SYSTEM)
> Cc: David Sterba <dsterba@suse.com> (maintainer:BTRFS FILE SYSTEM)

Please tell us where these extra tags came from.  Did some tool
generate them?

I think they're quite useful - perhaps something we could encourage.
Re: [PATCH v3 2/6] btrfs: drop usage of folio_index
Posted by David Hildenbrand 7 months, 3 weeks ago
On 30.04.25 23:06, Andrew Morton wrote:
> On Thu,  1 May 2025 02:10:48 +0800 Kairui Song <ryncsn@gmail.com> wrote:
> 
>> Cc: Chris Mason <clm@fb.com> (maintainer:BTRFS FILE SYSTEM)
>> Cc: Josef Bacik <josef@toxicpanda.com> (maintainer:BTRFS FILE SYSTEM)
>> Cc: David Sterba <dsterba@suse.com> (maintainer:BTRFS FILE SYSTEM)
> 
> Please tell us where these extra tags came from.  Did some tool
> generate them?
> 
> I think they're quite useful - perhaps something we could encourage.
> 

I guess that's just the get_maintainers output?

-- 
Cheers,

David / dhildenb
Re: [PATCH v3 2/6] btrfs: drop usage of folio_index
Posted by Kairui Song 7 months, 3 weeks ago
On Thu, May 1, 2025 at 5:07 AM David Hildenbrand <david@redhat.com> wrote:
>
> On 30.04.25 23:06, Andrew Morton wrote:
> > On Thu,  1 May 2025 02:10:48 +0800 Kairui Song <ryncsn@gmail.com> wrote:
> >
> >> Cc: Chris Mason <clm@fb.com> (maintainer:BTRFS FILE SYSTEM)
> >> Cc: Josef Bacik <josef@toxicpanda.com> (maintainer:BTRFS FILE SYSTEM)
> >> Cc: David Sterba <dsterba@suse.com> (maintainer:BTRFS FILE SYSTEM)
> >
> > Please tell us where these extra tags came from.  Did some tool
> > generate them?
> >
> > I think they're quite useful - perhaps something we could encourage.
> >
>
> I guess that's just the get_maintainers output?

Yes, `./scripts/get_maintainer.pl fs/btrfs/` generated these,
`./scripts/checkpatch.pl` didn't complain so I forgot to truncate
them. Glad to know it's considered helpful :)