From: Peng Tao Date: Mon, 15 Jul 2013 14:27:11 +0000 (+0800) Subject: staging/lustre: fix build on s390 X-Git-Url: http://drtracing.org/?a=commitdiff_plain;h=0e145b443e7b8c73e29470f069b0aa61835e4a11;p=deliverable%2Flinux.git staging/lustre: fix build on s390 As reported by Fengguang: In file included from drivers/staging/lustre/lustre/obdclass/../include/lustre/lustre_idl.h:99:0, from drivers/staging/lustre/lustre/obdclass/../include/lprocfs_status.h:46, from drivers/staging/lustre/lustre/obdclass/../include/obd_support.h:42, from drivers/staging/lustre/lustre/obdclass/../include/obd_class.h:40, from drivers/staging/lustre/lustre/obdclass/lu_object.c:53: drivers/staging/lustre/lustre/obdclass/../include/lustre/lustre_user.h:356:10: error: field 'lmd_st' has incomplete type drivers/staging/lustre/lustre/obdclass/../include/lustre/lustre_user.h:361:10: error: field 'lmd_st' has incomplete type Reported-by: Fengguang Wu Signed-off-by: Peng Tao Signed-off-by: Andreas Dilger Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/staging/lustre/lustre/include/linux/lustre_user.h b/drivers/staging/lustre/lustre/include/linux/lustre_user.h index ebaf92977f7f..ea9393c625cc 100644 --- a/drivers/staging/lustre/lustre/include/linux/lustre_user.h +++ b/drivers/staging/lustre/lustre/include/linux/lustre_user.h @@ -53,15 +53,19 @@ #include -#if defined(__x86_64__) || defined(__ia64__) || defined(__ppc64__) || \ - defined(__craynv) || defined (__mips64__) || defined(__powerpc64__) -typedef struct stat lstat_t; -#define lstat_f lstat -#define HAVE_LOV_USER_MDS_DATA -#else +/* + * We need to always use 64bit version because the structure + * is shared across entire cluster where 32bit and 64bit machines + * are co-existing. + */ +#if __BITS_PER_LONG != 64 || defined(__ARCH_WANT_STAT64) typedef struct stat64 lstat_t; #define lstat_f lstat64 -#define HAVE_LOV_USER_MDS_DATA +#else +typedef struct stat lstat_t; +#define lstat_f lstat #endif +#define HAVE_LOV_USER_MDS_DATA + #endif /* _LUSTRE_USER_H */