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

Eric Sandeen sandeen at redhat.com
Thu Oct 23 18:31:53 CDT 2014


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>
---

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;



More information about the xfs mailing list