sys/kern: Retry nlookup if nresolve returned ESTALE
authorTomohiro Kusumi <kusumi.tomohiro@gmail.com>
Wed, 18 May 2016 18:07:27 +0000 (03:07 +0900)
committerTomohiro Kusumi <kusumi.tomohiro@gmail.com>
Thu, 2 Jun 2016 22:42:53 +0000 (07:42 +0900)
commitca7294164d097ddba87f8b85282cdedee3fa7641
treee52c812f2e06895ed4597168d07f7e21181203a9
parent74b5eb2394c72667536e2c7115616aa8a7e8b612
sys/kern: Retry nlookup if nresolve returned ESTALE

Make nlookup retry the whole thing if nresolve VOP returned ESTALE.

This will be used by autofs (in the next few commits).
This doesn't affect other filesystems, because no other filesystem
returns ESTALE.

Autofs needs this because a target filesystem may get mounted under
the root directory of autofs while running nresolve VOP of autofs.
Autofs tells nlookup the topology has changed by returning ESTALE.
Unless nlookup retries the lookup, the result is obsolete.
sys/kern/vfs_nlookup.c