...and with the above reproducer, I can reproduce this without autofs in the mix now. Here's the details:
The server (a f15 box named salusa) has a separate filesystem mounted on /scratch that is exported with (rw,insecure,no_root_squash). It has a file in it called "foo". The server does not declare an explicit fsid=0 export, so it fakes up a pseudoroot.
On the client, I mount the filesystem:
# mount -t nfs4 salusa:/scratch /mnt/salusa
...I'm then careful not to touch anything under /mnt/salusa. I then run the reproducer above with the following path:
...and with the above reproducer, I can reproduce this without autofs in the mix now. Here's the details:
The server (a f15 box named salusa) has a separate filesystem mounted on /scratch that is exported with (rw,insecure, no_root_ squash) . It has a file in it called "foo". The server does not declare an explicit fsid=0 export, so it fakes up a pseudoroot.
On the client, I mount the filesystem:
# mount -t nfs4 salusa:/scratch /mnt/salusa
...I'm then careful not to touch anything under /mnt/salusa. I then run the reproducer above with the following path:
# ./forkstat /mnt/salusa/ scratch/ foo
...and then:
# umount /mnt/salusa
...at that point, the BUG pops.