Pre-r318997 the code looked like:
if (vp->v_mount->mnt_stat.f_fsid.val != (uint32_t)np->n_vattr.na_filesid) vap->va_fsid = (uint32_t)np->n_vattr.na_filesid;
Doing this assignment got lost by r318997 and, as such, NFSv4 mounts
of servers with trees of file systems on the server is broken, due to duplicate
fileno values for the same st_dev/va_fsid.
Although I could have re-introduced the assignment, since the value of
na_filesid is not guaranteed to be unique across the server file systems,
I felt it was better to always do the hash for na_filesid[0,1].
Since dev_t (st_dev/va_fsid) is now 64bits, I switched to a 64bit hash.
Is there an obviously better way to attempt to create a unique 64bit value
from an array of 2 64bit values?
It is surprising that there have not been bug reports for this.
I noticed it in recent testing.