Messages in this thread | | | Date | Mon, 05 Jan 1998 13:02:12 -0500 | From | Bill Hawes <> | Subject | Re: dcache strikes back |
| |
> this thread about vfat/dcache problems made me think about > the affs as well, and so I just tried it. As I was already > expecting, it failed. :-( > > /root# echo blafasel >/amiga/test/file > /root# ls -l /amiga/test/FILE > -rw-r--r-- 1 root root 9 Jan 5 17:55 /amiga/test/FILE > /root# rm /amiga/test/file > /root# ls -l /amiga/test/FILE > -rw-r--r-- 0 root root 9 Jan 5 17:55 /amiga/test/FILE > > Obviously, vfat does _this_ right, but by looking at the code, > I just don't see how. Isn't that just the same problem as the > longname/shortname one, multiple dentries for a single inode?
The situation with case insensitivity is much easier to handle than the short-name aliases required for vfat. Basically you just need a suitable dentry_ops with d_hash and d_compare. This will ensure that only one dentry for a given file is created.
There are examples of the d_op routines in ncpfs and smbfs as well as the fat fs. If affs has only a total length restriction on the name structure, the model in ncpfs or smbfs would probably be closer to what you need.
Regards, Bill
| |