diff options
Diffstat (limited to 'fs/xfs/libxfs/xfs_btree.c')
-rw-r--r-- | fs/xfs/libxfs/xfs_btree.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/fs/xfs/libxfs/xfs_btree.c b/fs/xfs/libxfs/xfs_btree.c index 80bcb80af652..92edad845a76 100644 --- a/fs/xfs/libxfs/xfs_btree.c +++ b/fs/xfs/libxfs/xfs_btree.c @@ -4764,19 +4764,19 @@ xfs_btree_sblock_verify( /* * Calculate the number of btree levels needed to store a given number of - * records in a short-format btree. + * records in btree blocks. This does not include the inode root level. */ -uint +unsigned int xfs_btree_compute_maxlevels( - uint *limits, - unsigned long len) + unsigned int *limits, + unsigned long long len) { - uint level; - unsigned long maxblocks; + unsigned int level; + unsigned long long maxblocks; - maxblocks = (len + limits[0] - 1) / limits[0]; + maxblocks = howmany_64(len, limits[0]); for (level = 1; maxblocks > 1; level++) - maxblocks = (maxblocks + limits[1] - 1) / limits[1]; + maxblocks = howmany_64(maxblocks, limits[1]); return level; } |