aboutsummaryrefslogtreecommitdiffstats
path: root/fs/btrfs/async-thread.c
diff options
context:
space:
mode:
authorQu Wenruo <[email protected]>2022-04-01 11:23:19 +0000
committerDavid Sterba <[email protected]>2022-05-16 15:03:14 +0000
commiteb3570607c8c7c9263005c47c71edeb12fc9fbcd (patch)
tree527ea0ae9062b4ffa0413712452461248398dfd8 /fs/btrfs/async-thread.c
parentbtrfs: raid56: introduce new cached members for btrfs_raid_bio (diff)
downloadkernel-eb3570607c8c7c9263005c47c71edeb12fc9fbcd.tar.gz
kernel-eb3570607c8c7c9263005c47c71edeb12fc9fbcd.zip
btrfs: raid56: introduce btrfs_raid_bio::stripe_sectors
The new member is an array of sector_ptr pointers, they will represent all sectors inside a full stripe (including P/Q). They co-operate with btrfs_raid_bio::stripe_pages: stripe_pages: | Page 0, range [0, 64K) | Page 1 ... stripe_sectors: | | | ... | | | | \- sector 15, page 0, pgoff=60K | \- sector 1, page 0, pgoff=4K \---- sector 0, page 0, pfoff=0 With such structure, we can represent subpage sectors without using extra pages. Here we introduce a new helper, index_stripe_sectors(), to update stripe_sectors[] to point to correct page and pgoff. So every time rbio::stripe_pages[] pointer gets updated, the new helper should be called. The following functions have to call the new helper: - steal_rbio() - alloc_rbio_pages() - alloc_rbio_parity_pages() - alloc_rbio_essential_pages() Signed-off-by: Qu Wenruo <[email protected]> Reviewed-by: David Sterba <[email protected]> Signed-off-by: David Sterba <[email protected]>
Diffstat (limited to 'fs/btrfs/async-thread.c')
0 files changed, 0 insertions, 0 deletions