patch-2.1.50 linux/fs/dcache.c

Next file: linux/fs/devices.c
Previous file: linux/fs/buffer.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.1.49/linux/fs/dcache.c linux/fs/dcache.c
@@ -178,7 +178,7 @@
 	dentry->d_name.name = str;
 	dentry->d_name.len = name->len;
 	dentry->d_name.hash = name->hash;
-	dentry->d_revalidate = NULL;
+	dentry->d_op = NULL;
 	return dentry;
 }
 
@@ -233,9 +233,14 @@
 		tmp = tmp->next;
 		if (dentry->d_name.hash != hash)
 			continue;
-		if (dentry->d_name.len != len)
-			continue;
 		if (dentry->d_parent != parent)
+			continue;
+		if (parent->d_op && parent->d_op->d_compare) {
+			if (parent->d_op->d_compare(parent, &dentry->d_name, name))
+				continue;
+			return dentry;
+		}
+		if (dentry->d_name.len != len)
 			continue;
 		if (memcmp(dentry->d_name.name, str, len))
 			continue;

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov