Re: [PATCH V8 11/19] xfs: Use uint64_t to count maximum blocks that can be used by BMBT

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Mar 21, 2022 at 10:47:42AM +0530, Chandan Babu R wrote:
> Reviewed-by: Darrick J. Wong <djwong@xxxxxxxxxx>
> Signed-off-by: Chandan Babu R <chandan.babu@xxxxxxxxxx>
> ---
>  fs/xfs/libxfs/xfs_bmap.c | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/fs/xfs/libxfs/xfs_bmap.c b/fs/xfs/libxfs/xfs_bmap.c
> index 9f38e33d6ce2..b317226fb4ba 100644
> --- a/fs/xfs/libxfs/xfs_bmap.c
> +++ b/fs/xfs/libxfs/xfs_bmap.c
> @@ -52,9 +52,9 @@ xfs_bmap_compute_maxlevels(
>  	xfs_mount_t	*mp,		/* file system mount structure */
>  	int		whichfork)	/* data or attr fork */
>  {
> -	int		level;		/* btree level */
> -	uint		maxblocks;	/* max blocks at this level */
> +	uint64_t	maxblocks;	/* max blocks at this level */
>  	xfs_extnum_t	maxleafents;	/* max leaf entries possible */
> +	int		level;		/* btree level */
>  	int		maxrootrecs;	/* max records in root block */
>  	int		minleafrecs;	/* min records in leaf block */
>  	int		minnoderecs;	/* min records in node block */
> @@ -88,7 +88,7 @@ xfs_bmap_compute_maxlevels(
>  		if (maxblocks <= maxrootrecs)
>  			maxblocks = 1;
>  		else
> -			maxblocks = (maxblocks + minnoderecs - 1) / minnoderecs;
> +			maxblocks = howmany_64(maxblocks, minnoderecs);
>  	}
>  	mp->m_bm_maxlevels[whichfork] = level;
>  	ASSERT(mp->m_bm_maxlevels[whichfork] <= xfs_bmbt_maxlevels_ondisk());

Hmmmm. Shouldn't this be rolled up into the earlier patch that
converts a seperate part of this function to use howmany_64()?
That was done in "[PATCH V8 07/19] xfs: Promote xfs_extnum_t and
xfs_aextnum_t to 64 and 32-bits respectively" - it seems to me like
this should definitely be part of the type size extension rather
than a stand-alone change.

Cheers,

Dave.
-- 
Dave Chinner
david@xxxxxxxxxxxxx



[Index of Archives]     [XFS Filesystem Development (older mail)]     [Linux Filesystem Development]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux RAID]     [Linux SCSI]


  Powered by Linux