+ if (!inode)
+ goto do_rehash;
+
++ if (!test_opt(inode->i_sb, IOPEN))
++ goto do_instantiate;
++
+ /* preferrably return a connected dentry */
+ list_for_each(lp, &inode->i_dentry) {
+ tmp = list_entry(lp, struct dentry, d_alias);
+ if (!inode)
+ goto do_rehash;
+
++ if (!test_opt(inode->i_sb, IOPEN))
++ goto do_instantiate;
++
+ /* preferrably return a connected dentry */
+ list_for_each(lp, &inode->i_dentry) {
+ tmp = list_entry(lp, struct dentry, d_alias);
===================================================================
--- lum.orig/fs/ext3/iopen.c 2004-03-09 16:46:37.000000000 -0700
+++ lum/fs/ext3/iopen.c 2004-03-09 16:48:03.000000000 -0700
-@@ -0,0 +1,282 @@
+@@ -0,0 +1,285 @@
+/*
+ * linux/fs/ext3/iopen.c
+ *
+ if (!inode)
+ goto do_rehash;
+
++ if (!test_opt(inode->i_sb, IOPEN))
++ goto do_instantiate;
++
+ /* preferrably return a connected dentry */
+ list_for_each(lp, &inode->i_dentry) {
+ tmp = list_entry(lp, struct dentry, d_alias);
===================================================================
--- lum.orig/fs/ext3/iopen.c 2004-03-09 16:46:37.000000000 -0700
+++ lum/fs/ext3/iopen.c 2004-03-09 16:48:03.000000000 -0700
-@@ -0,0 +1,282 @@
+@@ -0,0 +1,285 @@
+/*
+ * linux/fs/ext3/iopen.c
+ *
+ if (!goal)
+ goto do_instantiate;
+
++ if (!test_opt(inode->i_sb, IOPEN))
++ goto do_instantiate;
++
+ /* Move the goal to the de hash queue - like d_move() */
+ goal->d_flags &= ~DCACHE_NFSD_DISCONNECTED;
+ list_del_init(&goal->d_hash);
===================================================================
--- linux-ia64.orig/fs/ext3/iopen.c 2004-03-17 18:02:08.000000000 -0800
+++ linux-ia64/fs/ext3/iopen.c 2004-03-17 18:10:58.000000000 -0800
-@@ -0,0 +1,282 @@
+@@ -0,0 +1,285 @@
+/*
+ * linux/fs/ext3/iopen.c
+ *
+ if (!inode)
+ goto do_rehash;
+
++ if (!test_opt(inode->i_sb, IOPEN))
++ goto do_instantiate;
++
+ /* preferrably return a connected dentry */
+ list_for_each(lp, &inode->i_dentry) {
+ tmp = list_entry(lp, struct dentry, d_alias);
===================================================================
--- kernel-2.4.212l35.orig/fs/ext3/iopen.c 2003-03-27 11:16:05.000000000 -0800
+++ kernel-2.4.212l35/fs/ext3/iopen.c 2004-05-06 19:48:41.000000000 -0700
-@@ -0,0 +1,282 @@
+@@ -0,0 +1,285 @@
+/*
+ * linux/fs/ext3/iopen.c
+ *
+ if (!inode)
+ goto do_rehash;
+
++ if (!test_opt(inode->i_sb, IOPEN))
++ goto do_instantiate;
++
+ /* preferrably return a connected dentry */
+ list_for_each(lp, &inode->i_dentry) {
+ tmp = list_entry(lp, struct dentry, d_alias);
+ if (!inode)
+ goto do_rehash;
+
++ if (!test_opt(inode->i_sb, IOPEN))
++ goto do_instantiate;
++
+ /* preferrably return a connected dentry */
+ list_for_each(lp, &inode->i_dentry) {
+ tmp = list_entry(lp, struct dentry, d_alias);
+ if (!inode)
+ goto do_rehash;
+
++ if (!test_opt(inode->i_sb, IOPEN))
++ goto do_instantiate;
++
+ /* preferrably return a connected dentry */
+ list_for_each(lp, &inode->i_dentry) {
+ tmp = list_entry(lp, struct dentry, d_alias);