diff options
| -rw-r--r-- | arch/alpha/kernel/systbls.S | 3 | ||||
| -rw-r--r-- | fs/stat.c | 2 | ||||
| -rw-r--r-- | include/asm-alpha/stat.h | 32 | ||||
| -rw-r--r-- | include/asm-alpha/unistd.h | 5 |
4 files changed, 28 insertions, 14 deletions
diff --git a/arch/alpha/kernel/systbls.S b/arch/alpha/kernel/systbls.S index 64f6da6300d4..588b3703db41 100644 --- a/arch/alpha/kernel/systbls.S +++ b/arch/alpha/kernel/systbls.S @@ -444,6 +444,9 @@ sys_call_table: .quad sys_clock_nanosleep .quad sys_semtimedop .quad sys_tgkill + .quad sys_stat64 /* 425 */ + .quad sys_lstat64 + .quad sys_fstat64 .size sys_call_table, . - sys_call_table .type sys_call_table, @object diff --git a/fs/stat.c b/fs/stat.c index 6969df752548..fcd4da8045bb 100644 --- a/fs/stat.c +++ b/fs/stat.c @@ -283,7 +283,7 @@ asmlinkage long sys_readlink(const char __user * path, char __user * buf, int bu /* ---------- LFS-64 ----------- */ -#if !defined(__alpha__) && !defined(__ia64__) && !defined(__mips64) && !defined(__x86_64__) && !defined(CONFIG_ARCH_S390X) +#if !defined(__ia64__) && !defined(__mips64) && !defined(__x86_64__) && !defined(CONFIG_ARCH_S390X) static long cp_new_stat64(struct kstat *stat, struct stat64 __user *statbuf) { diff --git a/include/asm-alpha/stat.h b/include/asm-alpha/stat.h index 66ea898d1819..07ad3e6b3f3e 100644 --- a/include/asm-alpha/stat.h +++ b/include/asm-alpha/stat.h @@ -1,7 +1,7 @@ #ifndef _ALPHA_STAT_H #define _ALPHA_STAT_H -struct __old_kernel_stat { +struct stat { unsigned int st_dev; unsigned int st_ino; unsigned int st_mode; @@ -14,27 +14,35 @@ struct __old_kernel_stat { unsigned long st_mtime; unsigned long st_ctime; unsigned int st_blksize; - int st_blocks; + unsigned int st_blocks; unsigned int st_flags; unsigned int st_gen; }; -struct stat { - unsigned int st_dev; - unsigned int st_ino; +/* The stat64 structure increases the size of dev_t, blkcnt_t, adds + nanosecond resolution times, and padding for expansion. */ + +struct stat64 { + unsigned long st_dev; + unsigned long st_ino; + unsigned long st_rdev; + long st_size; + unsigned long st_blocks; + unsigned int st_mode; - unsigned int st_nlink; unsigned int st_uid; unsigned int st_gid; - unsigned int st_rdev; - long st_size; + unsigned int st_blksize; + unsigned int st_nlink; + unsigned int __pad0; + unsigned long st_atime; + unsigned long st_atime_nsec; unsigned long st_mtime; + unsigned long st_mtime_nsec; unsigned long st_ctime; - unsigned int st_blksize; - int st_blocks; - unsigned int st_flags; - unsigned int st_gen; + unsigned long st_ctime_nsec; + long __unused[3]; }; #endif diff --git a/include/asm-alpha/unistd.h b/include/asm-alpha/unistd.h index ba2e828b263e..8ad07504b944 100644 --- a/include/asm-alpha/unistd.h +++ b/include/asm-alpha/unistd.h @@ -360,7 +360,10 @@ #define __NR_clock_nanosleep 422 #define __NR_semtimedop 423 #define __NR_tgkill 424 -#define NR_SYSCALLS 425 +#define __NR_stat64 425 +#define __NR_lstat64 426 +#define __NR_fstat64 427 +#define NR_SYSCALLS 428 #if defined(__GNUC__) |
