- #ifndef _ASM_X86_STATFS_H
- #define _ASM_X86_STATFS_H
+ #ifndef ASM_X86__STATFS_H
+ #define ASM_X86__STATFS_H
  
 -#ifdef __i386__
 -#include <asm-generic/statfs.h>
 -#else
 -
 -#ifndef __KERNEL_STRICT_NAMES
 -
 -#include <linux/types.h>
 -
 -typedef __kernel_fsid_t       fsid_t;
 -
 -#endif
 -
  /*
 - * This is ugly -- we're already 64-bit clean, so just duplicate the
 - * definitions.
 + * We need compat_statfs64 to be packed, because the i386 ABI won't
 + * add padding at the end to bring it to a multiple of 8 bytes, but
 + * the x86_64 ABI will.
   */
 -struct statfs {
 -      long f_type;
 -      long f_bsize;
 -      long f_blocks;
 -      long f_bfree;
 -      long f_bavail;
 -      long f_files;
 -      long f_ffree;
 -      __kernel_fsid_t f_fsid;
 -      long f_namelen;
 -      long f_frsize;
 -      long f_spare[5];
 -};
 -
 -struct statfs64 {
 -      long f_type;
 -      long f_bsize;
 -      long f_blocks;
 -      long f_bfree;
 -      long f_bavail;
 -      long f_files;
 -      long f_ffree;
 -      __kernel_fsid_t f_fsid;
 -      long f_namelen;
 -      long f_frsize;
 -      long f_spare[5];
 -};
 +#define ARCH_PACK_COMPAT_STATFS64 __attribute__((packed,aligned(4)))
  
 -struct compat_statfs64 {
 -      __u32 f_type;
 -      __u32 f_bsize;
 -      __u64 f_blocks;
 -      __u64 f_bfree;
 -      __u64 f_bavail;
 -      __u64 f_files;
 -      __u64 f_ffree;
 -      __kernel_fsid_t f_fsid;
 -      __u32 f_namelen;
 -      __u32 f_frsize;
 -      __u32 f_spare[5];
 -} __attribute__((packed));
 -
 -#endif /* !__i386__ */
 +#include <asm-generic/statfs.h>
- #endif
+ #endif /* ASM_X86__STATFS_H */