• C
    nfs: Fix ugly referral attributes · c05cefcc
    Chuck Lever 提交于
    Before traversing a referral and performing a mount, the mounted-on
    directory looks strange:
    
    dr-xr-xr-x. 2 4294967294 4294967294 0 Dec 31  1969 dir.0
    
    nfs4_get_referral is wiping out any cached attributes with what was
    returned via GETATTR(fs_locations), but the bit mask for that
    operation does not request any file attributes.
    
    Retrieve owner and timestamp information so that the memcpy in
    nfs4_get_referral fills in more attributes.
    
    Changes since v1:
    - Don't request attributes that the client unconditionally replaces
    - Request only MOUNTED_ON_FILEID or FILEID attribute, not both
    - encode_fs_locations() doesn't use the third bitmask word
    
    Fixes: 6b97fd3d ("NFSv4: Follow a referral")
    Suggested-by: NPradeep Thomas <pradeepthomas@gmail.com>
    Signed-off-by: NChuck Lever <chuck.lever@oracle.com>
    Cc: stable@vger.kernel.org
    Signed-off-by: NAnna Schumaker <Anna.Schumaker@Netapp.com>
    c05cefcc
nfs4proc.c 257.2 KB