diff options
author | Naohiro Aota <naohiro.aota@wdc.com> | 2022-07-09 08:18:39 +0900 |
---|---|---|
committer | David Sterba <dsterba@suse.com> | 2022-07-25 17:45:41 +0200 |
commit | c2ae7b772ef4e86c5ddf3fd47bf59045ae96a414 (patch) | |
tree | 03acd4febbf00d7c0d4180f3817ae0253879f68f /fs/btrfs/zoned.h | |
parent | 65ea1b66482f415d51cd46515b02477257330339 (diff) | |
download | linux-c2ae7b772ef4e86c5ddf3fd47bf59045ae96a414.tar.bz2 |
btrfs: zoned: revive max_zone_append_bytes
This patch is basically a revert of commit 5a80d1c6a270 ("btrfs: zoned:
remove max_zone_append_size logic"), but without unnecessary ASSERT and
check. The max_zone_append_size will be used as a hint to estimate the
number of extents to cover delalloc/writeback region in the later commits.
The size of a ZONE APPEND bio is also limited by queue_max_segments(), so
this commit considers it to calculate max_zone_append_size. Technically, a
bio can be larger than queue_max_segments() * PAGE_SIZE if the pages are
contiguous. But, it is safe to consider "queue_max_segments() * PAGE_SIZE"
as an upper limit of an extent size to calculate the number of extents
needed to write data.
Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
Signed-off-by: Naohiro Aota <naohiro.aota@wdc.com>
Signed-off-by: David Sterba <dsterba@suse.com>
Diffstat (limited to 'fs/btrfs/zoned.h')
-rw-r--r-- | fs/btrfs/zoned.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/btrfs/zoned.h b/fs/btrfs/zoned.h index 6b2eec99162b..9caeab07fd38 100644 --- a/fs/btrfs/zoned.h +++ b/fs/btrfs/zoned.h @@ -19,6 +19,7 @@ struct btrfs_zoned_device_info { */ u64 zone_size; u8 zone_size_shift; + u64 max_zone_append_size; u32 nr_zones; unsigned int max_active_zones; atomic_t active_zones_left; |