===================================================================
--- linux-3.10.9-200.fc17.x86_64.orig/fs/ext4/namei.c
+++ linux-3.10.9-200.fc17.x86_64/fs/ext4/namei.c
-@@ -1438,6 +1438,32 @@ static struct dentry *ext4_lookup(struct
+@@ -1438,6 +1438,33 @@ static struct dentry *ext4_lookup(struct
return ERR_PTR(-EIO);
}
}
+ /* ".." shouldn't go into dcache to preserve dcache hierarchy
+ * otherwise we'll get parent being a child of actual child.
+ * see bug 10458 for details -bzzz */
-+ if (inode && (dentry->d_name.name[0] == '.' && (dentry->d_name.len == 1 ||
-+ (dentry->d_name.len == 2 && dentry->d_name.name[1] == '.')))) {
++ if (inode && (dentry->d_name.name[0] == '.' &&
++ (dentry->d_name.len == 1 || (dentry->d_name.len == 2 &&
++ dentry->d_name.name[1] == '.')))) {
+ struct dentry *goal = NULL;
+
+ /* first, look for an existing dentry - any one is good */