diff -urN linux-2.4.19-pre3/fs/namei.c linux-/fs/namei.c --- linux-2.4.19-pre3/fs/namei.c Wed Mar 20 14:03:50 2002 +++ linux/fs/namei.c Wed Mar 20 14:04:40 2002 @@ -457,7 +457,7 @@ while (*name=='/') name++; if (!*name) + goto return_base; - goto return_reval; inode = nd->dentry->d_inode; if (current->link_count) @@ -576,7 +576,7 @@ inode = nd->dentry->d_inode; /* fallthrough */ case 1: + goto return_base; - goto return_reval; } if (nd->dentry->d_op && nd->dentry->d_op->d_hash) { err = nd->dentry->d_op->d_hash(nd->dentry, &this); @@ -627,19 +627,6 @@ nd->last_type = LAST_DOT; else if (this.len == 2 && this.name[1] == '.') nd->last_type = LAST_DOTDOT; -return_reval: - /* - * We bypassed the ordinary revalidation routines. - * Check the cached dentry for staleness. - */ - dentry = nd->dentry; - if (dentry && dentry->d_op && dentry->d_op->d_revalidate) { - err = -ESTALE; - if (!dentry->d_op->d_revalidate(dentry, 0)) { - d_invalidate(dentry); - break; - } - } return_base: return 0; out_dput: