i_projid is a 32-bit field of the inode. Hence this commit uses ext2fs_swab32() to convert the i_projid field from the on-disk little endian format to the host cpu format. Without this change, project quota consistency check used to fail on big endian powerpc systems. Signed-off-by: Chandan Rajendra <chandan@xxxxxxxxxxxxxxxxxx> --- lib/ext2fs/swapfs.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/ext2fs/swapfs.c b/lib/ext2fs/swapfs.c index 0cf5f9a..b168a2f 100644 --- a/lib/ext2fs/swapfs.c +++ b/lib/ext2fs/swapfs.c @@ -357,7 +357,7 @@ void ext2fs_swap_inode_full(ext2_filsys fs, struct ext2_inode_large *t, if (inode_includes(inode_size, i_version_hi)) t->i_version_hi = ext2fs_swab32(f->i_version_hi); if (inode_includes(inode_size, i_projid)) - t->i_projid = ext2fs_swab16(f->i_projid); + t->i_projid = ext2fs_swab32(f->i_projid); /* catch new static fields added after i_projid */ EXT2FS_BUILD_BUG_ON(sizeof(struct ext2_inode_large) != 160); -- 2.9.5