This bug has been copied from bug #842312 and has been proposed
to be backported to 6.2 z-stream (EUS).
I try to test this bug as (https://bugzilla.redhat.com/show_bug.cgi?id=842312#c13), but, kenrel-2.6.32-220.26.1.el6 diff from 220.127.116.113, so I couldn't only reproducer it in pre-patch kernel. In post-patch kernel, server are not able to work with fault-inject newpynfs.
Because, kernel wouldn't fetch fs_locations which make (fattr->valid & NFS_ATTR_FATTR_V4_REFERRAL==1) when nfs_fhget is called which call nfs_attr_use_mounted_on_fileid. in fact, nfs_attr_use_mounted_on_fileid always return 0, whatever fattr4_mounted_on_file is used. If fattr4_fileid is not, nfs client couldn't create the inode for server's file, just as test result showed.
44 if (((fattr->valid & NFS_ATTR_FATTR_MOUNTED_ON_FILEID) == 0) ||
45 ((fattr->valid & NFS_ATTR_FATTR_V4_REFERRAL) == 0))
Jeff, please check if I could verify this bug?
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.
For information on the advisory, and where to find the updated
files, follow the link below.
If the solution does not work for you, open a new bug report.