summaryrefslogtreecommitdiffstats
path: root/fs/nfsd/state.h
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@lst.de>2015-04-30 11:49:23 +0200
committerJ. Bruce Fields <bfields@redhat.com>2015-05-04 18:02:40 +0200
commitef2a1b3e1067195f1d6b89d8329454775c87f033 (patch)
tree3b6f3b6ba97ceabf6c7bccfae22c6f2a8229ff5d /fs/nfsd/state.h
parentsvcrpc: fix potential GSSX_ACCEPT_SEC_CONTEXT decoding failures (diff)
downloadlinux-ef2a1b3e1067195f1d6b89d8329454775c87f033.tar.xz
linux-ef2a1b3e1067195f1d6b89d8329454775c87f033.zip
nfsd: split transport vs operation errors for callbacks
We must only increment the sequence id if the client has seen and responded to a request. If we failed to deliver it to the client we must resend with the same sequence id. So just like the client track errors at the transport level differently from those returned in the XDR. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: J. Bruce Fields <bfields@redhat.com>
Diffstat (limited to 'fs/nfsd/state.h')
-rw-r--r--fs/nfsd/state.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/nfsd/state.h b/fs/nfsd/state.h
index bde45d90b746..e791985a7318 100644
--- a/fs/nfsd/state.h
+++ b/fs/nfsd/state.h
@@ -68,6 +68,7 @@ struct nfsd4_callback {
struct rpc_message cb_msg;
struct nfsd4_callback_ops *cb_ops;
struct work_struct cb_work;
+ int cb_status;
bool cb_done;
};