2.6.35-longterm review patch.  If anyone has any objections, please let me know.

------------------
From: Tyler Hicks <[email protected]>

commit 55f9cf6bbaa682958a7dd2755f883b768270c3ce upstream.

The lower filesystem may do some type of inode revalidation during a
getattr call. eCryptfs should take advantage of that by copying the
lower inode attributes to the eCryptfs inode after a call to
vfs_getattr() on the lower inode.

I originally wrote this fix while working on eCryptfs on nfsv3 support,
but discovered it also fixed an eCryptfs on ext4 nanosecond timestamp
bug that was reported.

https://bugs.launchpad.net/bugs/613873

Signed-off-by: Tyler Hicks <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
Signed-off-by: Andi Kleen <[email protected]>

---
 fs/ecryptfs/inode.c |    2 ++
 1 file changed, 2 insertions(+)

Index: linux-2.6.35.y/fs/ecryptfs/inode.c
===================================================================
--- linux-2.6.35.y.orig/fs/ecryptfs/inode.c     2011-03-29 22:51:13.546376551 
-0700
+++ linux-2.6.35.y/fs/ecryptfs/inode.c  2011-03-29 23:03:01.080272529 -0700
@@ -1003,6 +1003,8 @@
        rc = vfs_getattr(ecryptfs_dentry_to_lower_mnt(dentry),
                         ecryptfs_dentry_to_lower(dentry), &lower_stat);
        if (!rc) {
+               fsstack_copy_attr_all(dentry->d_inode,
+                                     ecryptfs_inode_to_lower(dentry->d_inode));
                generic_fillattr(dentry->d_inode, stat);
                stat->blocks = lower_stat.blocks;
        }

_______________________________________________
stable mailing list
[email protected]
http://linux.kernel.org/mailman/listinfo/stable

Reply via email to