summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--arch/alpha/kernel/systbls.S3
-rw-r--r--fs/stat.c2
-rw-r--r--include/asm-alpha/stat.h32
-rw-r--r--include/asm-alpha/unistd.h5
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__)