• C
    NFSD: TEST_STATEID should not return NFS4ERR_STALE_STATEID · 7df302f7
    Chuck Lever 提交于
    According to RFC 5661, the TEST_STATEID operation is not allowed to
    return NFS4ERR_STALE_STATEID.  In addition, RFC 5661 says:
    
    15.1.16.5.  NFS4ERR_STALE_STATEID (Error Code 10023)
    
       A stateid generated by an earlier server instance was used.  This
       error is moot in NFSv4.1 because all operations that take a stateid
       MUST be preceded by the SEQUENCE operation, and the earlier server
       instance is detected by the session infrastructure that supports
       SEQUENCE.
    
    I triggered NFS4ERR_STALE_STATEID while testing the Linux client's
    NOGRACE recovery.  Bruce suggested an additional test that could be
    useful to client developers.
    
    Lastly, RFC 5661, section 18.48.3 has this:
    
     o  Special stateids are always considered invalid (they result in the
        error code NFS4ERR_BAD_STATEID).
    
    An explicit check is made for those state IDs to avoid printk noise.
    Signed-off-by: NChuck Lever <chuck.lever@oracle.com>
    Signed-off-by: NJ. Bruce Fields <bfields@redhat.com>
    7df302f7
state.h 15.4 KB