diff options
author | Kinglong Mee <kinglongmee@gmail.com> | 2015-06-02 13:59:25 +0300 |
---|---|---|
committer | J. Bruce Fields <bfields@redhat.com> | 2015-06-04 23:51:30 +0300 |
commit | 276f03e3ba242ebf2cf201cc3c7058d2884912b7 (patch) | |
tree | 882bd87a72e38396f21739bf8196ebbf3ef521b3 /fs/nfsd/state.h | |
parent | 4399396eecfc586a1d92e64fe49c3c899f080436 (diff) | |
download | linux-276f03e3ba242ebf2cf201cc3c7058d2884912b7.tar.xz |
nfsd: Update callback sequnce id only CB_SEQUENCE success
When testing pnfs layout, nfsd got error NFS4ERR_SEQ_MISORDERED.
It is caused by nfs return NFS4ERR_DELAY before validate_seqid(),
don't update the sequnce id, but nfsd updates the sequnce id !!!
According to RFC5661 20.9.3,
" If CB_SEQUENCE returns an error, then the state of the slot
(sequence ID, cached reply) MUST NOT change. "
Signed-off-by: Kinglong Mee <kinglongmee@gmail.com>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
Diffstat (limited to 'fs/nfsd/state.h')
-rw-r--r-- | fs/nfsd/state.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/nfsd/state.h b/fs/nfsd/state.h index dbc4f85a5008..4ed7c2ae95eb 100644 --- a/fs/nfsd/state.h +++ b/fs/nfsd/state.h @@ -68,6 +68,7 @@ struct nfsd4_callback { struct nfsd4_callback_ops *cb_ops; struct work_struct cb_work; int cb_status; + bool cb_update_seq_nr; bool cb_need_restart; }; |