From fe968d175638ac597f44df25eebc38f052d019b0 Mon Sep 17 00:00:00 2001 From: christos Date: Wed, 14 Sep 2005 15:07:22 +0000 Subject: PR/31312: Juan RP: Don't use negative cacheing on msdosfs, because of the evil case preserving and case sensitive semantics. From FreeBSD. --- sys/fs/msdosfs/msdosfs_lookup.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'sys') diff --git a/sys/fs/msdosfs/msdosfs_lookup.c b/sys/fs/msdosfs/msdosfs_lookup.c index 4dc80ec4129..330bd62d103 100644 --- a/sys/fs/msdosfs/msdosfs_lookup.c +++ b/sys/fs/msdosfs/msdosfs_lookup.c @@ -1,4 +1,4 @@ -/* $NetBSD: msdosfs_lookup.c,v 1.5 2005/05/29 21:00:29 christos Exp $ */ +/* $NetBSD: msdosfs_lookup.c,v 1.6 2005/09/14 15:07:22 christos Exp $ */ /*- * Copyright (C) 1994, 1995, 1997 Wolfgang Solfrank. @@ -48,7 +48,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: msdosfs_lookup.c,v 1.5 2005/05/29 21:00:29 christos Exp $"); +__KERNEL_RCSID(0, "$NetBSD: msdosfs_lookup.c,v 1.6 2005/09/14 15:07:22 christos Exp $"); #include #include @@ -397,11 +397,18 @@ notfound: return (EJUSTRETURN); } +#if 0 /* * Insert name into cache (as non-existent) if appropriate. + * + * XXX Negative caching is broken for msdosfs because the name + * cache doesn't understand peculiarities such as case insensitivity + * and 8.3 filenames. Hence, it may not invalidate all negative + * entries if a file with this name is later created. */ if ((cnp->cn_flags & MAKEENTRY) && nameiop != CREATE) cache_enter(vdp, *vpp, cnp); +#endif return (ENOENT); -- cgit