Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit aa2dd0ad authored by Christoph Hellwig's avatar Christoph Hellwig Committed by Dave Chinner
Browse files

xfs: remove __arch_pack



Instead we always declare struct xfs_dir2_sf_hdr as packed.  That's
the expected layout, and while most major architectures do the packing
by default the new structure size and offset checker showed that not
only the ARM old ABI got this wrong, but various minor embedded
architectures did as well.

[Verified that no code change on x86-64 results from this change]

Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
Reviewed-by: default avatarDave Chinner <dchinner@redhat.com>
Signed-off-by: default avatarDave Chinner <david@fromorbit.com>
parent 266b6969
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -229,7 +229,7 @@ typedef struct xfs_dir2_sf_hdr {
	__uint8_t		count;		/* count of entries */
	__uint8_t		count;		/* count of entries */
	__uint8_t		i8count;	/* count of 8-byte inode #s */
	__uint8_t		i8count;	/* count of 8-byte inode #s */
	__uint8_t		parent[8];	/* parent dir inode number */
	__uint8_t		parent[8];	/* parent dir inode number */
} __arch_pack xfs_dir2_sf_hdr_t;
} __packed xfs_dir2_sf_hdr_t;


typedef struct xfs_dir2_sf_entry {
typedef struct xfs_dir2_sf_entry {
	__u8			namelen;	/* actual name length */
	__u8			namelen;	/* actual name length */
+0 −7
Original line number Original line Diff line number Diff line
@@ -328,13 +328,6 @@ static inline __uint64_t howmany_64(__uint64_t x, __uint32_t y)
	return x;
	return x;
}
}


/* ARM old ABI has some weird alignment/padding */
#if defined(__arm__) && !defined(__ARM_EABI__)
#define __arch_pack __attribute__((packed))
#else
#define __arch_pack
#endif

#define ASSERT_ALWAYS(expr)	\
#define ASSERT_ALWAYS(expr)	\
	(unlikely(expr) ? (void)0 : assfail(#expr, __FILE__, __LINE__))
	(unlikely(expr) ? (void)0 : assfail(#expr, __FILE__, __LINE__))