--- fs/namei.c.ori 2004-04-14 21:06:01.000000000 +0200 +++ fs/namei.c 2004-04-14 21:09:26.000000000 +0200 @@ -581,7 +581,7 @@ while (*name=='/') name++; if (!*name) - goto return_reval; + goto return_base; inode = nd->dentry->d_inode; if (current->link_count) @@ -702,7 +702,7 @@ inode = nd->dentry->d_inode; /* fallthrough */ case 1: - goto return_reval; + goto return_base; } if (nd->dentry->d_op && nd->dentry->d_op->d_hash) { err = nd->dentry->d_op->d_hash(nd->dentry, &this); @@ -746,20 +746,6 @@ nd->last_type = LAST_DOT; else if (this.len == 2 && this.name[1] == '.') nd->last_type = LAST_DOTDOT; - else - goto return_base; -return_reval: - /* - * We bypassed the ordinary revalidation routines. - * We may need to check the cached dentry for staleness. - */ - if (nd->dentry && nd->dentry->d_sb && - (nd->dentry->d_sb->s_type->fs_flags & FS_REVAL_DOT)) { - err = -ESTALE; - /* Note: we do not d_invalidate() */ - if (!nd->dentry->d_op->d_revalidate(nd->dentry, nd)) - break; - } return_base: return 0; out_dput: