Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 17 Apr 2005 03:08:54 -0400
From:      David Schultz <das@FreeBSD.ORG>
To:        Jeff Roberson <jroberson@chesapeake.net>
Cc:        cvs-all@FreeBSD.ORG
Subject:   Re: cvs commit: src/sys/fs/msdosfs msdosfs_lookup.c
Message-ID:  <20050417070854.GA36122@VARK.MIT.EDU>
In-Reply-To: <20050417013241.O67458@mail.chesapeake.net>
References:  <200504162347.j3GNlJUA010418@repoman.freebsd.org> <20050417013241.O67458@mail.chesapeake.net>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, Apr 17, 2005, Jeff Roberson wrote:
> On Sat, 16 Apr 2005, David Schultz wrote:
> 
> > das         2005-04-16 23:47:19 UTC
> >
> >   FreeBSD src repository
> >
> >   Modified files:
> >     sys/fs/msdosfs       msdosfs_lookup.c
> >   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.
> 
> Use cache_lookup() directly rather than vfs_cache_lookup.  It won't try to
> call VOP_CACHEDLOOKUP.

Yeah thanks, I remembered that after this commit---see the sketch
of a complete solution in my email to Mike.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20050417070854.GA36122>