[PATCH] xfsprogs: fix endian mishap in xfs_dialloc_ag()

Brian Foster bfoster at redhat.com
Mon Oct 27 06:25:54 CDT 2014


On Thu, Oct 23, 2014 at 06:31:53PM -0500, Eric Sandeen wrote:
> Fixes a regression introduced by:
> 
> 88fc730 xfs: use and update the finobt on inode allocation
> 
> which passed the non-swapped version of agi->agi_newino to
> xfs_inobt_lookup()
> 
> Caught by make C=2, ftw!
> 
> Signed-off-by: Eric Sandeen <sandeen at redhat.com>
> ---

Reviewed-by: Brian Foster <bfoster at redhat.com>

> 
> diff --git a/libxfs/xfs_ialloc.c b/libxfs/xfs_ialloc.c
> index 5462c54..b20a9ec 100644
> --- a/libxfs/xfs_ialloc.c
> +++ b/libxfs/xfs_ialloc.c
> @@ -1057,7 +1057,8 @@ xfs_dialloc_ag(
>  		 * most recently allocated inode.
>  		 */
>  		if (agi->agi_newino != cpu_to_be32(NULLAGINO)) {
> -			error = xfs_inobt_lookup(cur, agi->agi_newino,
> +			error = xfs_inobt_lookup(cur,
> +						 be32_to_cpu(agi->agi_newino),
>  						 XFS_LOOKUP_EQ, &i);
>  			if (error)
>  				goto error_cur;
> 
> _______________________________________________
> xfs mailing list
> xfs at oss.sgi.com
> http://oss.sgi.com/mailman/listinfo/xfs



More information about the xfs mailing list