Jeremy Fitzhardinge wrote:
>
> Process 2 is blocked in revalidate->try_to_fill_dentry. Revalidate
> returns 1 (valid), but it's a -ve unhashed (because of rmdir) dentry.
> Because its -ve, process 2 gets ENOENT. Later lookups generate a new
> dentry and mount attempt. Unfortunately this loses the rate-limiting
> property for this kind of failed mount (it will still work when the
> failure happens early, before daemon starts creating mount-points).
>
A positive dentry may not transition to negative, so if you have taken
the dentry from positive to negative you have violated a dcache
constraint.
Linus: is this constraint still applicable?
-hpa