diff options
| author | christos <christos@NetBSD.org> | 2005-09-14 15:07:22 +0000 |
|---|---|---|
| committer | christos <christos@NetBSD.org> | 2005-09-14 15:07:22 +0000 |
| commit | fe968d175638ac597f44df25eebc38f052d019b0 (patch) | |
| tree | 7b35c37cb0a40b185ace37cbeb7a522526d7c3e6 /sys/fs/msdosfs | |
| parent | 1d4573eec9071ff4f1ae47a09cb5f759b3349079 (diff) | |
PR/31312: Juan RP: Don't use negative cacheing on msdosfs, because of the
evil case preserving and case sensitive semantics. From FreeBSD.
Diffstat (limited to 'sys/fs/msdosfs')
| -rw-r--r-- | sys/fs/msdosfs/msdosfs_lookup.c | 11 |
1 files changed, 9 insertions, 2 deletions
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 <sys/cdefs.h> -__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 <sys/param.h> #include <sys/systm.h> @@ -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); |
