aboutsummaryrefslogtreecommitdiff
path: root/fs/btrfs/ctree.h
diff options
context:
space:
mode:
authorGravatar Qu Wenruo <wqu@suse.com> 2021-08-17 17:38:51 +0800
committerGravatar David Sterba <dsterba@suse.com> 2021-10-25 21:17:16 +0200
commit8481dd80ab1eccbe04334269d668b467e9dfa788 (patch)
treecfbfad160a92a8768ca58a918e2ff7ba2a8fff37 /fs/btrfs/ctree.h
parentbtrfs: subpage: make btrfs_alloc_subpage() return btrfs_subpage directly (diff)
downloadlinux-8481dd80ab1eccbe04334269d668b467e9dfa788.tar.gz
linux-8481dd80ab1eccbe04334269d668b467e9dfa788.tar.bz2
linux-8481dd80ab1eccbe04334269d668b467e9dfa788.zip
btrfs: subpage: introduce btrfs_subpage_bitmap_info
Currently we use fixed size u16 bitmap for subpage bitmap. This is fine for 4K sectorsize with 64K page size. But for 4K sectorsize and larger page size, the bitmap is too small, while for smaller page size like 16K, u16 bitmaps waste too much space. Here we introduce a new helper structure, btrfs_subpage_bitmap_info, to record the proper bitmap size, and where each bitmap should start at. By this, we can later compact all subpage bitmaps into one u32 bitmap. This patch is the first step. Reviewed-by: Nikolay Borisov <nborisov@suse.com> Signed-off-by: Qu Wenruo <wqu@suse.com> Reviewed-by: David Sterba <dsterba@suse.com> Signed-off-by: David Sterba <dsterba@suse.com>
Diffstat (limited to 'fs/btrfs/ctree.h')
-rw-r--r--fs/btrfs/ctree.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/btrfs/ctree.h b/fs/btrfs/ctree.h
index c0cebcf745ce..8736347d1fa3 100644
--- a/fs/btrfs/ctree.h
+++ b/fs/btrfs/ctree.h
@@ -899,6 +899,7 @@ struct btrfs_fs_info {
struct btrfs_workqueue *scrub_workers;
struct btrfs_workqueue *scrub_wr_completion_workers;
struct btrfs_workqueue *scrub_parity_workers;
+ struct btrfs_subpage_info *subpage_info;
struct btrfs_discard_ctl discard_ctl;