]> git.hungrycats.org Git - linux/commitdiff
[ALPHA] Add stat64 syscalls.
authorRichard Henderson <rth@kanga.twiddle.home>
Tue, 9 Mar 2004 13:05:04 +0000 (05:05 -0800)
committerRichard Henderson <rth@kanga.twiddle.home>
Tue, 9 Mar 2004 13:05:04 +0000 (05:05 -0800)
arch/alpha/kernel/systbls.S
fs/stat.c
include/asm-alpha/stat.h
include/asm-alpha/unistd.h

index 64f6da6300d48b909507115501c06dd7f7742ed6..588b3703db418083baa00c5f6fe3dc38d947b1ab 100644 (file)
@@ -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
index 6969df7525488536629ed8b91dc4fc88fca87d7f..fcd4da8045bb720f72fbd8942f93c89951e68ac7 100644 (file)
--- 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)
 {
index 66ea898d18198584fdbe80fe58fc18513d8b5b3c..07ad3e6b3f3e795f40ac73ffacf0774cf8c6dd45 100644 (file)
@@ -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
index ba2e828b263ec15706648935826b4e3d8f933fc6..8ad07504b944a03d35b729d572c96698d4273363 100644 (file)
 #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__)