On Tue, Apr 09, 2019 at 12:54:04PM +0800, Zorro Lang wrote: > generic/529 always fails on ppc64 or s390x big-endian machine as: > > set posix acl: Operation not supported > > Due to the members of struct posix_acl_xattr_entry/header need to be > little-endian byte order, so use htole*() helper to make sure that. > > Signed-off-by: Zorro Lang <zlang@xxxxxxxxxx> Heh, seems ok... :) Reviewed-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx> --D > --- > src/t_attr_corruption.c | 12 +++++++----- > 1 file changed, 7 insertions(+), 5 deletions(-) > > diff --git a/src/t_attr_corruption.c b/src/t_attr_corruption.c > index 9101024e..e7d435b1 100644 > --- a/src/t_attr_corruption.c > +++ b/src/t_attr_corruption.c > @@ -32,6 +32,7 @@ > #include <stdint.h> > #include <unistd.h> > #include <sys/xattr.h> > +#include <endian.h> > > void die(const char *msg) > { > @@ -52,13 +53,14 @@ struct myacl { > > int main(int argc, char *argv[]) > { > + /* posix_acl_xattr_entry/header need little-endian order */ > struct myacl acl = { > - .d = 2, > + .d = htole32(2), > .e = { > - {1, 0, 0}, > - {4, 0, 0}, > - {0x10, 0, 0}, > - {0x20, 0, 0}, > + {htole16(1), 0, 0}, > + {htole16(4), 0, 0}, > + {htole16(0x10), 0, 0}, > + {htole16(0x20), 0, 0}, > }, > }; > char buf[64]; > -- > 2.17.2 >