From: Chandan Rajendra Date: Wed, 23 May 2018 03:22:07 +0000 (+0530) Subject: e2fsprogs: Use 32-bit variant of ext2fs_swab to read i_projid X-Git-Tag: v1.44.3-rc1~76 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=db41ae2c3e4716ceffe212a742d3c963e400fa1e;p=thirdparty%2Fe2fsprogs.git e2fsprogs: Use 32-bit variant of ext2fs_swab to read i_projid 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 Signed-off-by: Theodore Ts'o Reviewed-by: Andreas Dilger --- diff --git a/lib/ext2fs/swapfs.c b/lib/ext2fs/swapfs.c index 0cf5f9a5d..b168a2f20 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);