Re: [PATCH] xfs: verify dirblocklog correctly

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

 




On 1/23/17 6:46 PM, Darrick J. Wong wrote:
> sb_dirblklog is added to sb_blocklog to compute the directory block size
> in bytes.  Therefore, we must compare the sum of both those values
> against XFS_MAX_BLOCKSIZE_LOG, not just dirblklog.
> 
> Signed-off-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx>

matches the assert in xfs_da_mount():

        ASSERT((1 << (mp->m_sb.sb_blocklog + mp->m_sb.sb_dirblklog)) <=
               XFS_MAX_BLOCKSIZE);

so yup.

Reviewed-by: Eric Sandeen <sandeen@xxxxxxxxxx>

> ---
>  fs/xfs/libxfs/xfs_sb.c |    2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/fs/xfs/libxfs/xfs_sb.c b/fs/xfs/libxfs/xfs_sb.c
> index 2580262..584ec89 100644
> --- a/fs/xfs/libxfs/xfs_sb.c
> +++ b/fs/xfs/libxfs/xfs_sb.c
> @@ -242,7 +242,7 @@ xfs_mount_validate_sb(
>  	    sbp->sb_blocklog < XFS_MIN_BLOCKSIZE_LOG			||
>  	    sbp->sb_blocklog > XFS_MAX_BLOCKSIZE_LOG			||
>  	    sbp->sb_blocksize != (1 << sbp->sb_blocklog)		||
> -	    sbp->sb_dirblklog > XFS_MAX_BLOCKSIZE_LOG			||
> +	    sbp->sb_dirblklog + sbp->sb_blocklog > XFS_MAX_BLOCKSIZE_LOG ||
>  	    sbp->sb_inodesize < XFS_DINODE_MIN_SIZE			||
>  	    sbp->sb_inodesize > XFS_DINODE_MAX_SIZE			||
>  	    sbp->sb_inodelog < XFS_DINODE_MIN_LOG			||
> --
> To unsubscribe from this list: send the line "unsubscribe linux-xfs" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-xfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[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