This is Mark Fasheh's patch verbatim, actually, that he posted before.
fs/9p/vfs_inode.c | 2 +- fs/afs/inode.c | 2 +- fs/afs/internal.h | 2 +- fs/btrfs/inode.c | 2 +- fs/cifs/cifsfs.h | 2 +- fs/cifs/inode.c | 2 +- fs/coda/inode.c | 2 +- fs/ext4/ext4.h | 2 +- fs/ext4/inode.c | 2 +- fs/fat/fat.h | 2 +- fs/fat/file.c | 3 ++- fs/fuse/dir.c | 2 +- fs/gfs2/ops_inode.c | 2 +- fs/minix/inode.c | 2 +- fs/minix/minix.h | 2 +- fs/nfs/inode.c | 3 ++- fs/ocfs2/file.c | 3 ++- fs/ocfs2/file.h | 2 +- fs/proc/base.c | 4 ++-- fs/proc/generic.c | 2 +- fs/proc/proc_net.c | 2 +- fs/proc/proc_sysctl.c | 2 +- fs/proc/root.c | 2 +- fs/sysv/itree.c | 2 +- fs/sysv/sysv.h | 2 +- fs/ubifs/dir.c | 2 +- fs/ubifs/ubifs.h | 2 +- include/linux/coda_linux.h | 2 +- include/linux/nfs_fs.h | 2 +- 29 files changed, 33 insertions(+), 30 deletions(-) Index: linux-2.6.29/fs/9p/vfs_inode.c =================================================================== --- linux-2.6.29.orig/fs/9p/vfs_inode.c 2009-04-07 17:07:35.000000000 -0400 +++ linux-2.6.29/fs/9p/vfs_inode.c 2009-04-07 17:07:40.000000000 -0400 @@ -737,7 +737,7 @@ static int v9fs_vfs_getattr(struct vfsmount *mnt, struct dentry *dentry, - struct kstat *stat) + struct kstat *stat, int flags) { int err; struct v9fs_session_info *v9ses; Index: linux-2.6.29/fs/afs/inode.c =================================================================== --- linux-2.6.29.orig/fs/afs/inode.c 2009-04-07 17:07:35.000000000 -0400 +++ linux-2.6.29/fs/afs/inode.c 2009-04-07 17:07:40.000000000 -0400 @@ -292,7 +292,7 @@ * read the attributes of an inode */ int afs_getattr(struct vfsmount *mnt, struct dentry *dentry, - struct kstat *stat) + struct kstat *stat, int flags) { struct inode *inode; Index: linux-2.6.29/fs/afs/internal.h =================================================================== --- linux-2.6.29.orig/fs/afs/internal.h 2009-04-07 17:07:35.000000000 -0400 +++ linux-2.6.29/fs/afs/internal.h 2009-04-07 17:07:40.000000000 -0400 @@ -546,7 +546,7 @@ struct afs_callback *); extern void afs_zap_data(struct afs_vnode *); extern int afs_validate(struct afs_vnode *, struct key *); -extern int afs_getattr(struct vfsmount *, struct dentry *, struct kstat *); +extern int afs_getattr(struct vfsmount *, struct dentry *, struct kstat *, int); extern int afs_setattr(struct dentry *, struct iattr *); extern void afs_clear_inode(struct inode *); Index: linux-2.6.29/fs/btrfs/inode.c =================================================================== --- linux-2.6.29.orig/fs/btrfs/inode.c 2009-04-07 17:07:35.000000000 -0400 +++ linux-2.6.29/fs/btrfs/inode.c 2009-04-07 17:07:40.000000000 -0400 @@ -4563,7 +4563,7 @@ } static int btrfs_getattr(struct vfsmount *mnt, - struct dentry *dentry, struct kstat *stat) + struct dentry *dentry, struct kstat *stat, int flags) { struct inode *inode = dentry->d_inode; generic_fillattr(inode, stat); Index: linux-2.6.29/fs/cifs/cifsfs.h =================================================================== --- linux-2.6.29.orig/fs/cifs/cifsfs.h 2009-04-07 17:07:35.000000000 -0400 +++ linux-2.6.29/fs/cifs/cifsfs.h 2009-04-07 17:07:40.000000000 -0400 @@ -49,7 +49,7 @@ extern int cifs_rename(struct inode *, struct dentry *, struct inode *, struct dentry *); extern int cifs_revalidate(struct dentry *); -extern int cifs_getattr(struct vfsmount *, struct dentry *, struct kstat *); +extern int cifs_getattr(struct vfsmount *, struct dentry *, struct kstat *, int); extern int cifs_setattr(struct dentry *, struct iattr *); extern const struct inode_operations cifs_file_inode_ops; Index: linux-2.6.29/fs/cifs/inode.c =================================================================== --- linux-2.6.29.orig/fs/cifs/inode.c 2009-04-07 17:07:35.000000000 -0400 +++ linux-2.6.29/fs/cifs/inode.c 2009-04-07 17:07:40.000000000 -0400 @@ -1599,7 +1599,7 @@ } int cifs_getattr(struct vfsmount *mnt, struct dentry *dentry, - struct kstat *stat) + struct kstat *stat, int flags) { int err = cifs_revalidate(dentry); if (!err) { Index: linux-2.6.29/fs/coda/inode.c =================================================================== --- linux-2.6.29.orig/fs/coda/inode.c 2009-04-07 17:07:35.000000000 -0400 +++ linux-2.6.29/fs/coda/inode.c 2009-04-07 17:07:40.000000000 -0400 @@ -220,7 +220,7 @@ coda_cache_clear_inode(inode); } -int coda_getattr(struct vfsmount *mnt, struct dentry *dentry, struct kstat *stat) +int coda_getattr(struct vfsmount *mnt, struct dentry *dentry, struct kstat *stat, int flags) { int err = coda_revalidate_inode(dentry); if (!err) Index: linux-2.6.29/fs/ext4/ext4.h =================================================================== --- linux-2.6.29.orig/fs/ext4/ext4.h 2009-04-07 17:07:35.000000000 -0400 +++ linux-2.6.29/fs/ext4/ext4.h 2009-04-07 17:07:40.000000000 -0400 @@ -1081,7 +1081,7 @@ extern int ext4_write_inode(struct inode *, int); extern int ext4_setattr(struct dentry *, struct iattr *); extern int ext4_getattr(struct vfsmount *mnt, struct dentry *dentry, - struct kstat *stat); + struct kstat *stat, int flags); extern void ext4_delete_inode(struct inode *); extern int ext4_sync_inode(handle_t *, struct inode *); extern void ext4_dirty_inode(struct inode *); Index: linux-2.6.29/fs/ext4/inode.c =================================================================== --- linux-2.6.29.orig/fs/ext4/inode.c 2009-04-07 17:07:35.000000000 -0400 +++ linux-2.6.29/fs/ext4/inode.c 2009-04-07 17:07:40.000000000 -0400 @@ -4691,7 +4691,7 @@ } int ext4_getattr(struct vfsmount *mnt, struct dentry *dentry, - struct kstat *stat) + struct kstat *stat, int flags) { struct inode *inode; unsigned long delalloc_blocks; Index: linux-2.6.29/fs/fat/fat.h =================================================================== --- linux-2.6.29.orig/fs/fat/fat.h 2009-04-07 17:07:35.000000000 -0400 +++ linux-2.6.29/fs/fat/fat.h 2009-04-07 17:07:40.000000000 -0400 @@ -295,7 +295,7 @@ extern int fat_setattr(struct dentry * dentry, struct iattr * attr); extern void fat_truncate(struct inode *inode); extern int fat_getattr(struct vfsmount *mnt, struct dentry *dentry, - struct kstat *stat); + struct kstat *stat, int flags); /* fat/inode.c */ extern void fat_attach(struct inode *inode, loff_t i_pos); Index: linux-2.6.29/fs/fat/file.c =================================================================== --- linux-2.6.29.orig/fs/fat/file.c 2009-04-07 17:07:35.000000000 -0400 +++ linux-2.6.29/fs/fat/file.c 2009-04-07 17:07:40.000000000 -0400 @@ -253,7 +253,8 @@ fat_flush_inodes(inode->i_sb, inode, NULL); } -int fat_getattr(struct vfsmount *mnt, struct dentry *dentry, struct kstat *stat) +int fat_getattr(struct vfsmount *mnt, struct dentry *dentry, struct kstat *stat, + int flags) { struct inode *inode = dentry->d_inode; generic_fillattr(inode, stat); Index: linux-2.6.29/fs/fuse/dir.c =================================================================== --- linux-2.6.29.orig/fs/fuse/dir.c 2009-04-07 17:07:35.000000000 -0400 +++ linux-2.6.29/fs/fuse/dir.c 2009-04-07 17:07:40.000000000 -0400 @@ -1330,7 +1330,7 @@ } static int fuse_getattr(struct vfsmount *mnt, struct dentry *entry, - struct kstat *stat) + struct kstat *stat, int flags) { struct inode *inode = entry->d_inode; struct fuse_conn *fc = get_fuse_conn(inode); Index: linux-2.6.29/fs/gfs2/ops_inode.c =================================================================== --- linux-2.6.29.orig/fs/gfs2/ops_inode.c 2009-04-07 17:07:35.000000000 -0400 +++ linux-2.6.29/fs/gfs2/ops_inode.c 2009-04-07 17:07:40.000000000 -0400 @@ -1130,7 +1130,7 @@ */ static int gfs2_getattr(struct vfsmount *mnt, struct dentry *dentry, - struct kstat *stat) + struct kstat *stat, int flags) { struct inode *inode = dentry->d_inode; struct gfs2_inode *ip = GFS2_I(inode); Index: linux-2.6.29/fs/minix/inode.c =================================================================== --- linux-2.6.29.orig/fs/minix/inode.c 2009-04-07 17:07:35.000000000 -0400 +++ linux-2.6.29/fs/minix/inode.c 2009-04-07 17:07:40.000000000 -0400 @@ -585,7 +585,7 @@ return err; } -int minix_getattr(struct vfsmount *mnt, struct dentry *dentry, struct kstat *stat) +int minix_getattr(struct vfsmount *mnt, struct dentry *dentry, struct kstat *stat, int flags) { struct inode *dir = dentry->d_parent->d_inode; struct super_block *sb = dir->i_sb; Index: linux-2.6.29/fs/minix/minix.h =================================================================== --- linux-2.6.29.orig/fs/minix/minix.h 2009-04-07 17:07:35.000000000 -0400 +++ linux-2.6.29/fs/minix/minix.h 2009-04-07 17:07:40.000000000 -0400 @@ -49,7 +49,7 @@ extern int minix_new_block(struct inode * inode); extern void minix_free_block(struct inode *inode, unsigned long block); extern unsigned long minix_count_free_blocks(struct minix_sb_info *sbi); -extern int minix_getattr(struct vfsmount *, struct dentry *, struct kstat *); +extern int minix_getattr(struct vfsmount *, struct dentry *, struct kstat *, int); extern int __minix_write_begin(struct file *file, struct address_space *mapping, loff_t pos, unsigned len, unsigned flags, struct page **pagep, void **fsdata); Index: linux-2.6.29/fs/nfs/inode.c =================================================================== --- linux-2.6.29.orig/fs/nfs/inode.c 2009-04-07 17:07:35.000000000 -0400 +++ linux-2.6.29/fs/nfs/inode.c 2009-04-07 17:07:40.000000000 -0400 @@ -471,7 +471,8 @@ } } -int nfs_getattr(struct vfsmount *mnt, struct dentry *dentry, struct kstat *stat) +int nfs_getattr(struct vfsmount *mnt, struct dentry *dentry, struct kstat *stat, + int flags) { struct inode *inode = dentry->d_inode; int need_atime = NFS_I(inode)->cache_validity & NFS_INO_INVALID_ATIME; Index: linux-2.6.29/fs/ocfs2/file.c =================================================================== --- linux-2.6.29.orig/fs/ocfs2/file.c 2009-04-07 17:07:35.000000000 -0400 +++ linux-2.6.29/fs/ocfs2/file.c 2009-04-07 17:07:40.000000000 -0400 @@ -1055,7 +1055,8 @@ int ocfs2_getattr(struct vfsmount *mnt, struct dentry *dentry, - struct kstat *stat) + struct kstat *stat, + int flags) { struct inode *inode = dentry->d_inode; struct super_block *sb = dentry->d_inode->i_sb; Index: linux-2.6.29/fs/ocfs2/file.h =================================================================== --- linux-2.6.29.orig/fs/ocfs2/file.h 2009-04-07 17:07:35.000000000 -0400 +++ linux-2.6.29/fs/ocfs2/file.h 2009-04-07 17:07:40.000000000 -0400 @@ -58,7 +58,7 @@ u64 zero_to); int ocfs2_setattr(struct dentry *dentry, struct iattr *attr); int ocfs2_getattr(struct vfsmount *mnt, struct dentry *dentry, - struct kstat *stat); + struct kstat *stat, int flags); int ocfs2_permission(struct inode *inode, int mask); int ocfs2_should_update_atime(struct inode *inode, Index: linux-2.6.29/fs/proc/base.c =================================================================== --- linux-2.6.29.orig/fs/proc/base.c 2009-04-07 17:07:35.000000000 -0400 +++ linux-2.6.29/fs/proc/base.c 2009-04-07 17:07:40.000000000 -0400 @@ -1468,7 +1468,7 @@ return NULL; } -static int pid_getattr(struct vfsmount *mnt, struct dentry *dentry, struct kstat *stat) +static int pid_getattr(struct vfsmount *mnt, struct dentry *dentry, struct kstat *stat, int flags) { struct inode *inode = dentry->d_inode; struct task_struct *task; @@ -3121,7 +3121,7 @@ return retval; } -static int proc_task_getattr(struct vfsmount *mnt, struct dentry *dentry, struct kstat *stat) +static int proc_task_getattr(struct vfsmount *mnt, struct dentry *dentry, struct kstat *stat, int flags) { struct inode *inode = dentry->d_inode; struct task_struct *p = get_proc_task(inode); Index: linux-2.6.29/fs/proc/generic.c =================================================================== --- linux-2.6.29.orig/fs/proc/generic.c 2009-04-07 17:07:35.000000000 -0400 +++ linux-2.6.29/fs/proc/generic.c 2009-04-07 17:07:40.000000000 -0400 @@ -243,7 +243,7 @@ } static int proc_getattr(struct vfsmount *mnt, struct dentry *dentry, - struct kstat *stat) + struct kstat *stat, int flags) { struct inode *inode = dentry->d_inode; struct proc_dir_entry *de = PROC_I(inode)->pde; Index: linux-2.6.29/fs/proc/proc_net.c =================================================================== --- linux-2.6.29.orig/fs/proc/proc_net.c 2009-04-07 17:07:35.000000000 -0400 +++ linux-2.6.29/fs/proc/proc_net.c 2009-04-07 17:07:40.000000000 -0400 @@ -133,7 +133,7 @@ } static int proc_tgid_net_getattr(struct vfsmount *mnt, struct dentry *dentry, - struct kstat *stat) + struct kstat *stat, int flags) { struct inode *inode = dentry->d_inode; struct net *net; Index: linux-2.6.29/fs/proc/proc_sysctl.c =================================================================== --- linux-2.6.29.orig/fs/proc/proc_sysctl.c 2009-04-07 17:07:35.000000000 -0400 +++ linux-2.6.29/fs/proc/proc_sysctl.c 2009-04-07 17:07:40.000000000 -0400 @@ -335,7 +335,7 @@ return error; } -static int proc_sys_getattr(struct vfsmount *mnt, struct dentry *dentry, struct kstat *stat) +static int proc_sys_getattr(struct vfsmount *mnt, struct dentry *dentry, struct kstat *stat, int flags) { struct inode *inode = dentry->d_inode; struct ctl_table_header *head = grab_header(inode); Index: linux-2.6.29/fs/proc/root.c =================================================================== --- linux-2.6.29.orig/fs/proc/root.c 2009-04-07 17:07:35.000000000 -0400 +++ linux-2.6.29/fs/proc/root.c 2009-04-07 17:07:40.000000000 -0400 @@ -138,7 +138,7 @@ proc_sys_init(); } -static int proc_root_getattr(struct vfsmount *mnt, struct dentry *dentry, struct kstat *stat +static int proc_root_getattr(struct vfsmount *mnt, struct dentry *dentry, struct kstat *stat, int flags ) { generic_fillattr(dentry->d_inode, stat); Index: linux-2.6.29/fs/sysv/itree.c =================================================================== --- linux-2.6.29.orig/fs/sysv/itree.c 2009-04-07 17:07:35.000000000 -0400 +++ linux-2.6.29/fs/sysv/itree.c 2009-04-07 17:07:40.000000000 -0400 @@ -440,7 +440,7 @@ return blocks; } -int sysv_getattr(struct vfsmount *mnt, struct dentry *dentry, struct kstat *stat) +int sysv_getattr(struct vfsmount *mnt, struct dentry *dentry, struct kstat *stat, 0) { struct super_block *s = mnt->mnt_sb; generic_fillattr(dentry->d_inode, stat); Index: linux-2.6.29/fs/sysv/sysv.h =================================================================== --- linux-2.6.29.orig/fs/sysv/sysv.h 2009-04-07 17:07:35.000000000 -0400 +++ linux-2.6.29/fs/sysv/sysv.h 2009-04-07 17:07:40.000000000 -0400 @@ -146,7 +146,7 @@ extern int sysv_sync_inode(struct inode *); extern int sysv_sync_file(struct file *, struct dentry *, int); extern void sysv_set_inode(struct inode *, dev_t); -extern int sysv_getattr(struct vfsmount *, struct dentry *, struct kstat *); +extern int sysv_getattr(struct vfsmount *, struct dentry *, struct kstat *, int); extern int sysv_init_icache(void); extern void sysv_destroy_icache(void); Index: linux-2.6.29/fs/ubifs/dir.c =================================================================== --- linux-2.6.29.orig/fs/ubifs/dir.c 2009-04-07 17:07:35.000000000 -0400 +++ linux-2.6.29/fs/ubifs/dir.c 2009-04-07 17:07:40.000000000 -0400 @@ -1132,7 +1132,7 @@ } int ubifs_getattr(struct vfsmount *mnt, struct dentry *dentry, - struct kstat *stat) + struct kstat *stat, int flags) { loff_t size; struct inode *inode = dentry->d_inode; Index: linux-2.6.29/fs/ubifs/ubifs.h =================================================================== --- linux-2.6.29.orig/fs/ubifs/ubifs.h 2009-04-07 17:07:35.000000000 -0400 +++ linux-2.6.29/fs/ubifs/ubifs.h 2009-04-07 17:07:40.000000000 -0400 @@ -1672,7 +1672,7 @@ struct inode *ubifs_new_inode(struct ubifs_info *c, const struct inode *dir, int mode); int ubifs_getattr(struct vfsmount *mnt, struct dentry *dentry, - struct kstat *stat); + struct kstat *stat, int flags); /* xattr.c */ int ubifs_setxattr(struct dentry *dentry, const char *name, Index: linux-2.6.29/include/linux/coda_linux.h =================================================================== --- linux-2.6.29.orig/include/linux/coda_linux.h 2009-04-07 17:07:35.000000000 -0400 +++ linux-2.6.29/include/linux/coda_linux.h 2009-04-07 17:07:40.000000000 -0400 @@ -39,7 +39,7 @@ int coda_release(struct inode *i, struct file *f); int coda_permission(struct inode *inode, int mask); int coda_revalidate_inode(struct dentry *); -int coda_getattr(struct vfsmount *, struct dentry *, struct kstat *); +int coda_getattr(struct vfsmount *, struct dentry *, struct kstat *, int); int coda_setattr(struct dentry *, struct iattr *); /* this file: heloers */ Index: linux-2.6.29/include/linux/nfs_fs.h =================================================================== --- linux-2.6.29.orig/include/linux/nfs_fs.h 2009-04-07 17:07:35.000000000 -0400 +++ linux-2.6.29/include/linux/nfs_fs.h 2009-04-07 17:07:40.000000000 -0400 @@ -332,7 +332,7 @@ extern int nfs_refresh_inode(struct inode *, struct nfs_fattr *); extern int nfs_post_op_update_inode(struct inode *inode, struct nfs_fattr *fattr); extern int nfs_post_op_update_inode_force_wcc(struct inode *inode, struct nfs_fattr *fattr); -extern int nfs_getattr(struct vfsmount *, struct dentry *, struct kstat *); +extern int nfs_getattr(struct vfsmount *, struct dentry *, struct kstat *, int); extern int nfs_permission(struct inode *, int); extern int nfs_open(struct inode *, struct file *); extern int nfs_release(struct inode *, struct file *);