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

next in thread | previous in thread | raw e-mail | index | archive | help
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.

>
>   Revision  Changes    Path
>   1.46      +7 -0      src/sys/fs/msdosfs/msdosfs_lookup.c
>



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