xfs: remove __arch_pack
authorChristoph Hellwig <hch@lst.de>
Wed, 20 Jul 2016 01:48:46 +0000 (11:48 +1000)
committerDave Chinner <david@fromorbit.com>
Wed, 20 Jul 2016 01:48:46 +0000 (11:48 +1000)
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: Christoph Hellwig <hch@lst.de>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Signed-off-by: Dave Chinner <david@fromorbit.com>
fs/xfs/libxfs/xfs_da_format.h
fs/xfs/xfs_linux.h

index f877bb17c6c349e1ad2a47a79991921834a6adaf..685f23b670568ea3df1f2944d70ac6e3ea2cc238 100644 (file)
@@ -229,7 +229,7 @@ typedef struct xfs_dir2_sf_hdr {
        __uint8_t               count;          /* count of entries */
        __uint8_t               i8count;        /* count of 8-byte inode #s */
        __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 {
        __u8                    namelen;        /* actual name length */
index a8192dc797dcc45315a5bfdff067992e10cd85ba..b8d64d520e125ca1e1ad78742450f51ea04fe013 100644 (file)
@@ -328,13 +328,6 @@ static inline __uint64_t howmany_64(__uint64_t x, __uint32_t y)
        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)    \
        (unlikely(expr) ? (void)0 : assfail(#expr, __FILE__, __LINE__))