From owner-cvs-src@FreeBSD.ORG Sun Apr 17 07:09:11 2005 Return-Path: Delivered-To: cvs-src@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id ACF6816A4CE; Sun, 17 Apr 2005 07:09:11 +0000 (GMT) Received: from pfepc.post.tele.dk (pfepc.post.tele.dk [195.41.46.237]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0B53943D41; Sun, 17 Apr 2005 07:09:11 +0000 (GMT) (envelope-from phk@critter.freebsd.dk) Received: from critter.freebsd.dk (0x50a07c69.naenxx7.adsl-dhcp.tele.dk [80.160.124.105]) by pfepc.post.tele.dk (Postfix) with ESMTP id 1FE67262830; Sun, 17 Apr 2005 09:09:08 +0200 (CEST) Received: from critter.freebsd.dk (localhost [127.0.0.1]) by critter.freebsd.dk (8.13.3/8.13.3) with ESMTP id j3H797uv001405; Sun, 17 Apr 2005 09:09:07 +0200 (CEST) (envelope-from phk@critter.freebsd.dk) To: David Schultz From: "Poul-Henning Kamp" In-Reply-To: Your message of "Sat, 16 Apr 2005 23:47:19 -0000." <200504162347.j3GNlJUA010418@repoman.freebsd.org> Date: Sun, 17 Apr 2005 09:09:07 +0200 Message-ID: <1404.1113721747@critter.freebsd.dk> Sender: phk@critter.freebsd.dk cc: cvs-src@FreeBSD.org cc: src-committers@FreeBSD.org cc: cvs-all@FreeBSD.org Subject: Re: cvs commit: src/sys/fs/msdosfs msdosfs_lookup.c X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 17 Apr 2005 07:09:11 -0000 In message <200504162347.j3GNlJUA010418@repoman.freebsd.org>, David Schultz wri tes: > Log: > Disable negative name caching for msdosfs to work around a bug. > Since the name cache is case-sensitive and msdosfs isn't, > creating a file 'foo' won't invalidate a negative entry for 'FOO'. > There are similar problems related to 8.3 filenames. > > A better solution is to override VOP_LOOKUP with a method that > canonicalizes the name, then calls vfs_cache_lookup(). Unfortunately, > it's not quite that simple because vfs_cache_lookup() will call > msdosfs_lookup() on a cache miss, and msdosfs_lookup() needs a way to > get at the original component name. I thought about something like that many years ago when I had copied a file called read:me to a msdosfs floppy and handed it to a NT using coworker who spent most of the day figuring out why he couldn't get the damn file off the floppy. -- Poul-Henning Kamp | UNIX since Zilog Zeus 3.20 phk@FreeBSD.ORG | TCP/IP since RFC 956 FreeBSD committer | BSD since 4.3-tahoe Never attribute to malice what can adequately be explained by incompetence.