[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <45B644C3.6000607@bull.net>
Date: Tue, 23 Jan 2007 18:24:19 +0100
From: Cordenner jean noel <jean-noel.cordenner@...l.net>
To: linux-ext4@...r.kernel.org
Cc: nfsv4@...ux-nfs.org
Subject: [RFC] [patch 3/3] i_version update for ext4: user interface
This patch adds a ``st_i_version'' field in the stat
structure, and modifies the stat(2) syscall accordingly. Currently the
change is only visible on i386 and x86_64 archs.
Signed-off-by: Jean Noel Cordenner <jean-noel.cordenner@...l.net>
Index: linux-2.6.20-rc5/fs/stat.c
===================================================================
--- linux-2.6.20-rc5.orig/fs/stat.c 2007-01-19 16:59:15.000000000 +0100
+++ linux-2.6.20-rc5/fs/stat.c 2007-01-23 16:21:17.000000000 +0100
@@ -31,6 +31,7 @@
stat->atime = inode->i_atime;
stat->mtime = inode->i_mtime;
stat->ctime = inode->i_ctime;
+ stat->i_version = inode->i_version;
stat->size = i_size_read(inode);
stat->blocks = inode->i_blocks;
stat->blksize = (1 << inode->i_blkbits);
@@ -226,6 +227,7 @@
tmp.st_atime = stat->atime.tv_sec;
tmp.st_mtime = stat->mtime.tv_sec;
tmp.st_ctime = stat->ctime.tv_sec;
+ tmp.st_i_version = stat->i_version;
#ifdef STAT_HAVE_NSEC
tmp.st_atime_nsec = stat->atime.tv_nsec;
tmp.st_mtime_nsec = stat->mtime.tv_nsec;
@@ -359,6 +361,7 @@
tmp.st_mtime_nsec = stat->mtime.tv_nsec;
tmp.st_ctime = stat->ctime.tv_sec;
tmp.st_ctime_nsec = stat->ctime.tv_nsec;
+ tmp.st_i_version = stat->i_version;
tmp.st_size = stat->size;
tmp.st_blocks = stat->blocks;
tmp.st_blksize = stat->blksize;
Index: linux-2.6.20-rc5/include/linux/stat.h
===================================================================
--- linux-2.6.20-rc5.orig/include/linux/stat.h 2006-11-29
22:57:37.000000000 +0100
+++ linux-2.6.20-rc5/include/linux/stat.h 2007-01-23
16:22:18.000000000 +0100
@@ -68,6 +68,7 @@
struct timespec atime;
struct timespec mtime;
struct timespec ctime;
+ unsigned long i_version;
unsigned long blksize;
unsigned long long blocks;
};
Index: linux-2.6.20-rc5/include/asm-i386/stat.h
===================================================================
--- linux-2.6.20-rc5.orig/include/asm-i386/stat.h 2006-11-29
22:57:37.000000000 +0100
+++ linux-2.6.20-rc5/include/asm-i386/stat.h 2007-01-23
17:48:36.000000000 +0100
@@ -32,7 +32,7 @@
unsigned long st_mtime_nsec;
unsigned long st_ctime;
unsigned long st_ctime_nsec;
- unsigned long __unused4;
+ unsigned long st_i_version;
unsigned long __unused5;
};
@@ -41,7 +41,7 @@
*/
struct stat64 {
unsigned long long st_dev;
- unsigned char __pad0[4];
+ unsigned int st_i_version;
#define STAT64_HAS_BROKEN_ST_INO 1
unsigned long __st_ino;
Index: linux-2.6.20-rc5/include/asm-x86_64/stat.h
===================================================================
--- linux-2.6.20-rc5.orig/include/asm-x86_64/stat.h 2006-11-29
22:57:37.000000000 +0100
+++ linux-2.6.20-rc5/include/asm-x86_64/stat.h 2007-01-23
17:57:03.000000000 +0100
@@ -23,7 +23,8 @@
unsigned long st_mtime_nsec;
unsigned long st_ctime;
unsigned long st_ctime_nsec;
- long __unused[3];
+ unsigned long st_i_version;
+ long __unused[2];
};
/* For 32bit emulation */
-
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists