• C
    NFS: Introduce NFS_ATTR_FATTR_V4_LOCATIONS · 81934ddb
    Chuck Lever 提交于
    The Linux NFS client must distinguish between referral events (which
    it currently supports) and migration events (which it does not yet
    support).
    
    In both types of events, an fs_locations array is returned.  But upper
    layers, not the XDR layer, should make the distinction between a
    referral and a migration.  There really isn't a way for an XDR decoder
    function to distinguish the two, in general.
    
    Slightly adjust the FATTR flags returned by decode_fs_locations()
    to set NFS_ATTR_FATTR_V4_LOCATIONS only if a non-empty locations
    array was returned from the server.  Then have logic in nfs4proc.c
    distinguish whether the locations array is for a referral or
    something else.
    Signed-off-by: NChuck Lever <chuck.lever@oracle.com>
    Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
    81934ddb
nfs4xdr.c 186.2 KB