btrfs: migrate to use folio private instead of page private
authorQu Wenruo <wqu@suse.com>
Fri, 17 Nov 2023 03:54:14 +0000 (14:24 +1030)
committerDavid Sterba <dsterba@suse.com>
Fri, 15 Dec 2023 19:27:01 +0000 (20:27 +0100)
commitcfbf07e2787e4da79c63622f1a6e64cc89f3a829
treeb69d375e861865f59dc17844e4c445f40d89ab35
parent4cea422a776558ccf84e918205d0c162a516502c
btrfs: migrate to use folio private instead of page private

As a cleanup and preparation for future folio migration, this patch
would replace all page->private to folio version.  This includes:

- PagePrivate()
  -> folio_test_private()

- page->private
  -> folio_get_private()

- attach_page_private()
  -> folio_attach_private()

- detach_page_private()
  -> folio_detach_private()

Since we're here, also remove the forced cast on page->private, since
it's (void *) already, we don't really need to do the cast.

For now even if we missed some call sites, it won't cause any problem
yet, as we're only using order 0 folio (single page), thus all those
folio/page flags should be synced.

But for the future conversion to utilize higher order folio, the page
<-> folio flag sync is no longer guaranteed, thus we have to migrate to
utilize folio flags.

Reviewed-by: Josef Bacik <josef@toxicpanda.com>
Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
Signed-off-by: Qu Wenruo <wqu@suse.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/extent_io.c
fs/btrfs/extent_io.h
fs/btrfs/file.c
fs/btrfs/inode.c
fs/btrfs/subpage.c