From: "David S. Miller" After seeing that sparc64 had the same asm/stat.h problem in -mm with dev_t as ppc has, I decided to fix all of the cases. include/asm-mips/stat.h | 8 ++-- include/asm-parisc/stat.h | 16 ++++----- include/asm-ppc64/stat.h | 4 +- include/asm-sparc64/stat.h | 73 +++++++++++++++++++-------------------------- 4 files changed, 45 insertions(+), 56 deletions(-) diff -puN include/asm-mips/stat.h~arch-dev_t-stat-fixes include/asm-mips/stat.h --- 25/include/asm-mips/stat.h~arch-dev_t-stat-fixes 2003-08-09 23:27:23.000000000 -0700 +++ 25-akpm/include/asm-mips/stat.h 2003-08-09 23:27:23.000000000 -0700 @@ -16,14 +16,14 @@ #if (_MIPS_SIM == _MIPS_SIM_ABI32) || (_MIPS_SIM == _MIPS_SIM_NABI32) struct stat { - dev_t st_dev; + unsigned int st_dev; long st_pad1[3]; /* Reserved for network id */ ino_t st_ino; mode_t st_mode; nlink_t st_nlink; uid_t st_uid; gid_t st_gid; - dev_t st_rdev; + unsigned int st_rdev; long st_pad2[2]; off_t st_size; long st_pad3; @@ -90,7 +90,7 @@ struct stat64 { /* The memory layout is the same as of struct stat64 of the 32-bit kernel. */ struct stat { - dev_t st_dev; + unsigned int st_dev; unsigned int st_pad0[3]; /* Reserved for st_dev expansion */ unsigned long st_ino; @@ -101,7 +101,7 @@ struct stat { uid_t st_uid; gid_t st_gid; - dev_t st_rdev; + unsigned int st_rdev; unsigned int st_pad1[3]; /* Reserved for st_rdev expansion */ off_t st_size; diff -puN include/asm-parisc/stat.h~arch-dev_t-stat-fixes include/asm-parisc/stat.h --- 25/include/asm-parisc/stat.h~arch-dev_t-stat-fixes 2003-08-09 23:27:23.000000000 -0700 +++ 25-akpm/include/asm-parisc/stat.h 2003-08-09 23:27:23.000000000 -0700 @@ -4,13 +4,13 @@ #include struct stat { - dev_t st_dev; /* dev_t is 32 bits on parisc */ + unsigned int st_dev; /* dev_t is 32 bits on parisc */ ino_t st_ino; /* 32 bits */ mode_t st_mode; /* 16 bits */ nlink_t st_nlink; /* 16 bits */ unsigned short st_reserved1; /* old st_uid */ unsigned short st_reserved2; /* old st_gid */ - dev_t st_rdev; + unsigned int st_rdev; off_t st_size; time_t st_atime; unsigned int st_atime_nsec; @@ -21,12 +21,12 @@ struct stat { int st_blksize; int st_blocks; unsigned int __unused1; /* ACL stuff */ - dev_t __unused2; /* network */ + unsigned int __unused2; /* network */ ino_t __unused3; /* network */ unsigned int __unused4; /* cnodes */ unsigned short __unused5; /* netsite */ short st_fstype; - dev_t st_realdev; + unsigned int st_realdev; unsigned short st_basemode; unsigned short st_spareshort; uid_t st_uid; @@ -39,13 +39,13 @@ struct stat { typedef __kernel_off64_t off64_t; struct hpux_stat64 { - dev_t st_dev; /* dev_t is 32 bits on parisc */ + unsigned int st_dev; /* dev_t is 32 bits on parisc */ ino_t st_ino; /* 32 bits */ mode_t st_mode; /* 16 bits */ nlink_t st_nlink; /* 16 bits */ unsigned short st_reserved1; /* old st_uid */ unsigned short st_reserved2; /* old st_gid */ - dev_t st_rdev; + unsigned int st_rdev; off64_t st_size; time_t st_atime; unsigned int st_spare1; @@ -56,12 +56,12 @@ struct hpux_stat64 { int st_blksize; __u64 st_blocks; unsigned int __unused1; /* ACL stuff */ - dev_t __unused2; /* network */ + unsigned int __unused2; /* network */ ino_t __unused3; /* network */ unsigned int __unused4; /* cnodes */ unsigned short __unused5; /* netsite */ short st_fstype; - dev_t st_realdev; + unsigned int st_realdev; unsigned short st_basemode; unsigned short st_spareshort; uid_t st_uid; diff -puN include/asm-ppc64/stat.h~arch-dev_t-stat-fixes include/asm-ppc64/stat.h --- 25/include/asm-ppc64/stat.h~arch-dev_t-stat-fixes 2003-08-09 23:27:23.000000000 -0700 +++ 25-akpm/include/asm-ppc64/stat.h 2003-08-09 23:27:23.000000000 -0700 @@ -11,13 +11,13 @@ #include struct stat { - dev_t st_dev; + unsigned long st_dev; ino_t st_ino; nlink_t st_nlink; mode_t st_mode; uid_t st_uid; gid_t st_gid; - dev_t st_rdev; + unsigned long st_rdev; off_t st_size; unsigned long st_blksize; unsigned long st_blocks; diff -puN include/asm-sparc64/stat.h~arch-dev_t-stat-fixes include/asm-sparc64/stat.h --- 25/include/asm-sparc64/stat.h~arch-dev_t-stat-fixes 2003-08-09 23:27:23.000000000 -0700 +++ 25-akpm/include/asm-sparc64/stat.h 2003-08-09 23:27:23.000000000 -0700 @@ -5,20 +5,20 @@ #include struct stat { - dev_t st_dev; - ino_t st_ino; - mode_t st_mode; - short st_nlink; - uid_t st_uid; - gid_t st_gid; - dev_t st_rdev; - off_t st_size; - time_t st_atime; - time_t st_mtime; - time_t st_ctime; - off_t st_blksize; - off_t st_blocks; - unsigned long __unused4[2]; + unsigned int st_dev; + ino_t st_ino; + mode_t st_mode; + short st_nlink; + uid_t st_uid; + gid_t st_gid; + unsigned int st_rdev; + off_t st_size; + time_t st_atime; + time_t st_mtime; + time_t st_ctime; + off_t st_blksize; + off_t st_blocks; + unsigned long __unused4[2]; }; #ifdef __KERNEL__ @@ -26,36 +26,25 @@ struct stat { struct stat64 { unsigned long long st_dev; - unsigned long long st_ino; - - unsigned int st_mode; - unsigned int st_nlink; - - unsigned int st_uid; - unsigned int st_gid; - + unsigned int st_mode; + unsigned int st_nlink; + unsigned int st_uid; + unsigned int st_gid; unsigned long long st_rdev; - - unsigned char __pad3[8]; - - long long st_size; - unsigned int st_blksize; - - unsigned char __pad4[8]; - unsigned int st_blocks; - - unsigned int st_atime; - unsigned int st_atime_nsec; - - unsigned int st_mtime; - unsigned int st_mtime_nsec; - - unsigned int st_ctime; - unsigned int st_ctime_nsec; - - unsigned int __unused4; - unsigned int __unused5; + unsigned char __pad3[8]; + long long st_size; + unsigned int st_blksize; + unsigned char __pad4[8]; + unsigned int st_blocks; + unsigned int st_atime; + unsigned int st_atime_nsec; + unsigned int st_mtime; + unsigned int st_mtime_nsec; + unsigned int st_ctime; + unsigned int st_ctime_nsec; + unsigned int __unused4; + unsigned int __unused5; }; #endif _