[PATCH] sparc64: Fix stat
Like Alpha, sparc64's struct stat was defined before we had the nanosecond et al. fields added. So like Alpha I have to cons up a struct stat64 to get this stuff. I'll work on the glibc bits soon. Also, we were forgetting to fill in the nanosecond fields in the sparc compat stat64 syscalls. Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
committed by
Linus Torvalds
parent
0b2cad2f30
commit
0ba4da03cc
@@ -79,7 +79,7 @@
|
||||
#define __NR_umask 60 /* Common */
|
||||
#define __NR_chroot 61 /* Common */
|
||||
#define __NR_fstat 62 /* Common */
|
||||
#define __NR_fstat64 63 /* Linux sparc32 Specific */
|
||||
#define __NR_fstat64 63 /* Linux Specific */
|
||||
#define __NR_getpagesize 64 /* Common */
|
||||
#define __NR_msync 65 /* Common in newer 1.3.x revs... */
|
||||
#define __NR_vfork 66 /* Common */
|
||||
@@ -148,14 +148,14 @@
|
||||
#define __NR_truncate 129 /* Common */
|
||||
#define __NR_ftruncate 130 /* Common */
|
||||
#define __NR_flock 131 /* Common */
|
||||
#define __NR_lstat64 132 /* Linux sparc32 Specific */
|
||||
#define __NR_lstat64 132 /* Linux Specific */
|
||||
#define __NR_sendto 133 /* Common */
|
||||
#define __NR_shutdown 134 /* Common */
|
||||
#define __NR_socketpair 135 /* Common */
|
||||
#define __NR_mkdir 136 /* Common */
|
||||
#define __NR_rmdir 137 /* Common */
|
||||
#define __NR_utimes 138 /* SunOS Specific */
|
||||
#define __NR_stat64 139 /* Linux sparc32 Specific */
|
||||
#define __NR_stat64 139 /* Linux Specific */
|
||||
#define __NR_sendfile64 140 /* adjtime under SunOS */
|
||||
#define __NR_getpeername 141 /* Common */
|
||||
#define __NR_futex 142 /* gethostid under SunOS */
|
||||
|
||||
@@ -51,16 +51,50 @@ struct compat_stat {
|
||||
compat_dev_t st_rdev;
|
||||
compat_off_t st_size;
|
||||
compat_time_t st_atime;
|
||||
u32 __unused1;
|
||||
compat_ulong_t st_atime_nsec;
|
||||
compat_time_t st_mtime;
|
||||
u32 __unused2;
|
||||
compat_ulong_t st_mtime_nsec;
|
||||
compat_time_t st_ctime;
|
||||
u32 __unused3;
|
||||
compat_ulong_t st_ctime_nsec;
|
||||
compat_off_t st_blksize;
|
||||
compat_off_t st_blocks;
|
||||
u32 __unused4[2];
|
||||
};
|
||||
|
||||
struct compat_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 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;
|
||||
};
|
||||
|
||||
struct compat_flock {
|
||||
short l_type;
|
||||
short l_whence;
|
||||
|
||||
+15
-30
@@ -21,43 +21,28 @@ struct stat {
|
||||
unsigned long __unused4[2];
|
||||
};
|
||||
|
||||
#ifdef __KERNEL__
|
||||
/* This is sparc32 stat64 structure. */
|
||||
|
||||
struct stat64 {
|
||||
unsigned long long st_dev;
|
||||
|
||||
unsigned long long st_ino;
|
||||
unsigned long st_dev;
|
||||
unsigned long st_ino;
|
||||
unsigned long st_nlink;
|
||||
|
||||
unsigned int st_mode;
|
||||
unsigned int st_nlink;
|
||||
|
||||
unsigned int st_uid;
|
||||
unsigned int st_gid;
|
||||
unsigned int __pad0;
|
||||
|
||||
unsigned long long st_rdev;
|
||||
unsigned long st_rdev;
|
||||
long st_size;
|
||||
long st_blksize;
|
||||
long st_blocks;
|
||||
|
||||
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 long st_atime;
|
||||
unsigned long st_atime_nsec;
|
||||
unsigned long st_mtime;
|
||||
unsigned long st_mtime_nsec;
|
||||
unsigned long st_ctime;
|
||||
unsigned long st_ctime_nsec;
|
||||
long __unused[3];
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
@@ -79,7 +79,7 @@
|
||||
#define __NR_umask 60 /* Common */
|
||||
#define __NR_chroot 61 /* Common */
|
||||
#define __NR_fstat 62 /* Common */
|
||||
/* #define __NR_fstat64 63 Linux sparc32 Specific */
|
||||
#define __NR_fstat64 63 /* Linux Specific */
|
||||
#define __NR_getpagesize 64 /* Common */
|
||||
#define __NR_msync 65 /* Common in newer 1.3.x revs... */
|
||||
#define __NR_vfork 66 /* Common */
|
||||
@@ -148,14 +148,14 @@
|
||||
#define __NR_truncate 129 /* Common */
|
||||
#define __NR_ftruncate 130 /* Common */
|
||||
#define __NR_flock 131 /* Common */
|
||||
/* #define __NR_lstat64 132 Linux sparc32 Specific */
|
||||
#define __NR_lstat64 132 /* Linux Specific */
|
||||
#define __NR_sendto 133 /* Common */
|
||||
#define __NR_shutdown 134 /* Common */
|
||||
#define __NR_socketpair 135 /* Common */
|
||||
#define __NR_mkdir 136 /* Common */
|
||||
#define __NR_rmdir 137 /* Common */
|
||||
#define __NR_utimes 138 /* SunOS Specific */
|
||||
/* #define __NR_stat64 139 Linux sparc32 Specific */
|
||||
#define __NR_stat64 139 /* Linux Specific */
|
||||
#define __NR_sendfile64 140 /* adjtime under SunOS */
|
||||
#define __NR_getpeername 141 /* Common */
|
||||
#define __NR_futex 142 /* gethostid under SunOS */
|
||||
|
||||
Reference in New Issue
Block a user