Re: dcache questions

Martin von Loewis (martin@mira.isdn.cs.tu-berlin.de)
Wed, 31 Dec 1997 10:48:11 +0100


> This would work, and I actually implemented it at first. However, it
> still runs into problems. I set d_revalidate for all aliases so they
> get looked up using real_lookup everytime. However, the dentry using
> the alias still exists, so if I do
>
> 1# touch LongFileName
> 2# rm longfi~1
> 3# ls -l LongFileName
>
> 3 succeeds when it should fail. This is because the LongFileName
> entry does not need to be revalidated. Of course, I could set everything
> to revalidate, and then I'd be back to having no dcache at all (worse
> than 2.0.x). Setting everything to revalidate would give the correct
> results.

Strange. When you remove longfi~1, I'm sure you also remove LongFileName
physically from the disk. At that time, couldn't you also instantiate
a negative dentry for it, or rather d_delete the existing one?

Regards,
Martin