diff options
author | David Sterba <dsterba@suse.com> | 2017-01-04 11:09:51 +0100 |
---|---|---|
committer | David Sterba <dsterba@suse.com> | 2017-02-14 15:50:51 +0100 |
commit | 823bb20ab47071dc8a98acf272a470ccdcfcf6d1 (patch) | |
tree | ba1864d6c1472b33acbe0d6d991cb91cf4d69f74 /fs/btrfs/ctree.h | |
parent | 95995dbbe691c78cf78948e48b9778531bf1fb3c (diff) | |
download | linux-stable-823bb20ab47071dc8a98acf272a470ccdcfcf6d1.tar.gz linux-stable-823bb20ab47071dc8a98acf272a470ccdcfcf6d1.tar.bz2 linux-stable-823bb20ab47071dc8a98acf272a470ccdcfcf6d1.zip |
btrfs: add wrapper for counting BTRFS_MAX_EXTENT_SIZE
The expression is open-coded in several places, this asks for a wrapper.
As we know the MAX_EXTENT fits to u32, we can use the appropirate
division helper. This cascades to the result type updates.
Compiler is clever enough to use shift instead of integer division, so
there's no change in the generated assembly.
Signed-off-by: David Sterba <dsterba@suse.com>
Diffstat (limited to 'fs/btrfs/ctree.h')
-rw-r--r-- | fs/btrfs/ctree.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/fs/btrfs/ctree.h b/fs/btrfs/ctree.h index 6a823719b6c5..6ebbccf41f46 100644 --- a/fs/btrfs/ctree.h +++ b/fs/btrfs/ctree.h @@ -97,6 +97,14 @@ static const int btrfs_csum_sizes[] = { 4 }; #define BTRFS_MAX_EXTENT_SIZE SZ_128M +/* + * Count how many BTRFS_MAX_EXTENT_SIZE cover the @size + */ +static inline u32 count_max_extents(u64 size) +{ + return div_u64(size + BTRFS_MAX_EXTENT_SIZE - 1, BTRFS_MAX_EXTENT_SIZE); +} + struct btrfs_mapping_tree { struct extent_map_tree map_tree; }; |