Why? It still has our dentry refering to it and contributing into its
->d_count.
> Then won't dentry->d_parent be wrong? What happens if d_parent becomes
> a negative d_entry v. disappearing entirely.
->d_parent will not become negative.
> It is if d_count goes to 0 on one of them and the inode is then unlinked.
> But the other dentry remains and again tries to unlink when its d_count
> goes to 0. Over NFS the fh includes the generation and so you can't
> accidentally delete what only looks like the same file, but what happens
> in the local fs?
Please, take a look at the way normal links work.
> Also, the real problem is that something goes wrong with d_parent and
Now, _that_ is interesting. What are you actually seeing there?
Note that unhashing doesn't change _any_ ->d_count - hash chains
are not counted in it and ->d_parent is not changed.
> NFS tries to refresh an inode that it should really know doesn't exist
> anymore. That's why my #2 patch only executes during a rmdir.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/