btrfs: replace PAGE_SIZE with folio_size for subpage.[ch]
authorQu Wenruo <wqu@suse.com>
Mon, 10 Mar 2025 03:20:43 +0000 (13:50 +1030)
committerDavid Sterba <dsterba@suse.com>
Tue, 18 Mar 2025 19:35:52 +0000 (20:35 +0100)
Since we can no longer assume all data filemap folios are page sized,
use proper folio_size() calls to determine the folio size, as a
preparation for future large data filemap folios.

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/subpage.c
fs/btrfs/subpage.h

index 4ab3af0177b24d7df9ab16ff356f52d78b2cc50d..11dbd7be6a3b3be830e3383de143a15913ffa680 100644 (file)
@@ -6,7 +6,7 @@
 #include "btrfs_inode.h"
 
 /*
- * Subpage (sectorsize < PAGE_SIZE) support overview:
+ * Subpage (block size < folio size) support overview:
  *
  * Limitations:
  *
@@ -194,7 +194,7 @@ static void btrfs_subpage_assert(const struct btrfs_fs_info *fs_info,
         */
        if (folio->mapping)
                ASSERT(folio_pos(folio) <= start &&
-                      start + len <= folio_pos(folio) + PAGE_SIZE);
+                      start + len <= folio_pos(folio) + folio_size(folio));
 }
 
 #define subpage_calc_start_bit(fs_info, folio, name, start, len)       \
@@ -223,7 +223,7 @@ static void btrfs_subpage_clamp_range(struct folio *folio, u64 *start, u32 *len)
        if (folio_pos(folio) >= orig_start + orig_len)
                *len = 0;
        else
-               *len = min_t(u64, folio_pos(folio) + PAGE_SIZE,
+               *len = min_t(u64, folio_pos(folio) + folio_size(folio),
                             orig_start + orig_len) - *start;
 }
 
index 083390e76d13855ff394cee2520e2adba253d168..3042c5ea840aec7fbe57f2a63fa876fa8eebc7af 100644 (file)
@@ -89,7 +89,7 @@ static inline bool btrfs_is_subpage(const struct btrfs_fs_info *fs_info,
 {
        if (folio->mapping && folio->mapping->host)
                ASSERT(is_data_inode(BTRFS_I(folio->mapping->host)));
-       return fs_info->sectorsize < PAGE_SIZE;
+       return fs_info->sectorsize < folio_size(folio);
 }
 #else
 static inline bool btrfs_meta_is_subpage(const struct btrfs_fs_info *fs_info)