• Andy Adamson's avatar
    nfsd41: stateid handling · 6668958f
    Andy Adamson authored
    When sessions are used, stateful operation sequenceid and stateid handling
    are not used. When sessions are used,  on the first open set the seqid to 1,
    mark state confirmed and skip seqid processing.
    
    When sessionas are used the stateid generation number is ignored when it is zero
    whereas without sessions bad_stateid or stale stateid is returned.
    
    Add flags to propagate session use to all stateful ops and down to
    check_stateid_generation.
    Signed-off-by: default avatarBenny Halevy <bhalevy@panasas.com>
    Signed-off-by: default avatarAndy Adamson <andros@netapp.com>
    [nfsd4_has_session should return a boolean, not u32]
    Signed-off-by: default avatarBenny Halevy <bhalevy@panasas.com>
    [nfsd41: pass nfsd4_compoundres * to nfsd4_process_open1]
    [nfsd41: calculate HAS_SESSION in nfs4_preprocess_stateid_op]
    [nfsd41: calculate HAS_SESSION in nfs4_preprocess_seqid_op]
    Signed-off-by: default avatarBenny Halevy <bhalevy@panasas.com>
    Signed-off-by: default avatarJ. Bruce Fields <bfields@citi.umich.edu>
    6668958f
nfs4state.c 109 KB