Messages in this thread | | | Date | Tue, 30 Dec 1997 04:25:37 -0800 (PST) | From | Gordon Chaffee <> | Subject | dcache questions |
| |
I'm having some significant problems trying to get the vfat filesystem to work properly with the dcache. Basically, the problem is caused by the vfat filename handling. For each long filename, there is an alias that refers to the same file or directory. For example, for the filename LongFileName, there is an alias called longfi~1.
For a directory tree, I could have something like: Long: Program Files/GNU Emacs/LongFileName.exe Alias: progra~1/gnuema~1/longfi~1.exe
One can also refer to LongFileName.exe via one of any combination of aliased directory names: progra~1/GNU Emacs/LongFileName.exe Program Files/gnuema~1/longfi~1.exe
This really starts messing with the dcache since there is not a unique dentry for any filename or directory.
I decided I would try to handle the problem with aliases by not putting any dentries in the dcache for filenames that are aliases or for filenames that haven't been found. This way, there would only be one dentry per directory and file.
I can't even get the simplest case to work. I tried changing vfat_lookup() to not call d_add(dentry, NULL) when a filename is not found, but this causes the dcache to think there is a permanent error with this filename.
Is there some way I can either get the dcache to not cache errors?
Does someone have a suggestion of another way to handle these aliases?
- Gordon
| |