aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/linux/nfsd/state.h7
-rw-r--r--include/linux/nfsd/xdr4.h21
2 files changed, 26 insertions, 2 deletions
diff --git a/include/linux/nfsd/state.h b/include/linux/nfsd/state.h
index f1edb1d98523..692edf4c2e7c 100644
--- a/include/linux/nfsd/state.h
+++ b/include/linux/nfsd/state.h
@@ -99,8 +99,12 @@ struct nfs4_callback {
99 struct rpc_clnt * cb_client; 99 struct rpc_clnt * cb_client;
100}; 100};
101 101
102/* Maximum number of slots per session. 128 is useful for long haul TCP */
103#define NFSD_MAX_SLOTS_PER_SESSION 128
102/* Maximum number of pages per slot cache entry */ 104/* Maximum number of pages per slot cache entry */
103#define NFSD_PAGES_PER_SLOT 1 105#define NFSD_PAGES_PER_SLOT 1
106/* Maximum number of operations per session compound */
107#define NFSD_MAX_OPS_PER_COMPOUND 16
104 108
105struct nfsd4_cache_entry { 109struct nfsd4_cache_entry {
106 __be32 ce_status; 110 __be32 ce_status;
@@ -129,7 +133,7 @@ struct nfsd4_session {
129 u32 se_fmaxresp_cached; 133 u32 se_fmaxresp_cached;
130 u32 se_fmaxops; 134 u32 se_fmaxops;
131 u32 se_fnumslots; 135 u32 se_fnumslots;
132 struct nfsd4_slot *se_slots; /* forward channel slots */ 136 struct nfsd4_slot se_slots[]; /* forward channel slots */
133}; 137};
134 138
135static inline void 139static inline void
@@ -188,6 +192,7 @@ struct nfs4_client {
188 struct list_head cl_sessions; 192 struct list_head cl_sessions;
189 u32 cl_seqid; /* seqid for create_session */ 193 u32 cl_seqid; /* seqid for create_session */
190 u32 cl_exchange_flags; 194 u32 cl_exchange_flags;
195 struct nfs4_sessionid cl_sessionid;
191}; 196};
192 197
193/* struct nfs4_client_reset 198/* struct nfs4_client_reset
diff --git a/include/linux/nfsd/xdr4.h b/include/linux/nfsd/xdr4.h
index 69cb467cb720..9468829adb70 100644
--- a/include/linux/nfsd/xdr4.h
+++ b/include/linux/nfsd/xdr4.h
@@ -359,8 +359,27 @@ struct nfsd4_exchange_id {
359 int spa_how; 359 int spa_how;
360}; 360};
361 361
362struct nfsd4_channel_attrs {
363 u32 headerpadsz;
364 u32 maxreq_sz;
365 u32 maxresp_sz;
366 u32 maxresp_cached;
367 u32 maxops;
368 u32 maxreqs;
369 u32 nr_rdma_attrs;
370 u32 rdma_attrs;
371};
372
362struct nfsd4_create_session { 373struct nfsd4_create_session {
363 int foo; /* stub */ 374 clientid_t clientid;
375 struct nfs4_sessionid sessionid;
376 u32 seqid;
377 u32 flags;
378 struct nfsd4_channel_attrs fore_channel;
379 struct nfsd4_channel_attrs back_channel;
380 u32 callback_prog;
381 u32 uid;
382 u32 gid;
364}; 383};
365 384
366struct nfsd4_sequence { 385struct nfsd4_sequence {