--- linux.susefont/fs/namei.c Tue Jan 4 19:12:23 2000 +++ linux.autofs.fix/fs/namei.c Tue Jul 25 23:27:32 2000 @@ -269,7 +269,14 @@ */ up(&dir->i_sem); if (result->d_op && result->d_op->d_revalidate) - result->d_op->d_revalidate(result, flags); + /* FIXME: (garloff@suse.de, 2000-07-25): This must be handled + * the same way as in cached_lookup(), otherwise we risk to end + * up trusting an invalid dentry from cache. + * This was breaking autofs. Fixed. */ + if (!result->d_op->d_revalidate(result, flags) && !d_invalidate(result)) { + dput(result); + result = ERR_PTR(-ENOENT); + } return result; }