xfs: fix attr shortform structure alignment on cris
authorDarrick J. Wong <darrick.wong@oracle.com>
Wed, 3 Aug 2016 00:59:42 +0000 (10:59 +1000)
committerDave Chinner <david@fromorbit.com>
Wed, 3 Aug 2016 00:59:42 +0000 (10:59 +1000)
Apparently cris doesn't require structure stride to align with the
largest type in the struct, so list[0] isn't at offset 4 like it is
everywhere else.  Fix this... insofar as existing XFSes on cris are
screwed.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Reviewed-by: Brian Foster <bfoster@redhat.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Dave Chinner <david@fromorbit.com>
fs/xfs/libxfs/xfs_da_format.h

index 685f23b..9a492a9 100644 (file)
@@ -629,6 +629,7 @@ typedef struct xfs_attr_shortform {
        struct xfs_attr_sf_hdr {        /* constant-structure header block */
                __be16  totsize;        /* total bytes in shortform list */
                __u8    count;  /* count of active entries */
+               __u8    padding;
        } hdr;
        struct xfs_attr_sf_entry {
                __uint8_t namelen;      /* actual length of name (no NULL) */