Hi Trond, I'd like to fix up lookup revalidation for v4.1+ when the client is using OPEN_CLAIM_FH. The fixes a while back for Stan Hu's case do not seem to improve things for v4.1, and actually make the behavior a bit worse since we no longer pass through nfs_lookup_verify_inode(), which would catch the cases where nlink == 0. Would you accept work to _always_ revalidate the dentry's parent for CLAIM_FH? Alternatively, it seems that CLAIM_NULL would be preferable for this case, though I don't know how the client would know when to decide between them. Here's a simple reproducer for convenience, I think we've already all agreed that the behavior we want is for the second open by `cat` to reflect the results of the move on the server, or at least eventually later opens would revalidate the dentry: #!/bin/bash set -o xtrace vers=4.1 exportfs -ua exportfs -o rw,sec=sys,no_root_squash *:/exports mkdir /mnt/localhost || true rm -f /exports/file{1,2} echo this is file 1 > /exports/file1 echo this is file 2 > /exports/file2 mount -t nfs -ov$vers,sec=sys localhost:/exports /mnt/localhost tail -f /mnt/localhost/file1 & sleep 1 # this is file 1 cat /mnt/localhost/file1 # overwrite the file on the server: mv -f /exports/file2 /exports/file1 # this is file 2 cat /mnt/localhost/file1 killall tail # this is file 2 cat /mnt/localhost/file1 umount /mnt/localhost Switching the $vers variable between v4.0 and v4.1 in this script shows the difference in behavior. Thanks for any advice, Ben