1 /* 2 * include/linux/nfsd/const.h 3 * 4 * Various constants related to NFS. 5 * 6 * Copyright (C) 1995-1997 Olaf Kirch <okir@monad.swb.de> 7 */ 8 9 #ifndef _LINUX_NFSD_CONST_H 10 #define _LINUX_NFSD_CONST_H 11 12 #include <linux/nfs.h> 13 #include <linux/nfs2.h> 14 #include <linux/nfs3.h> 15 #include <linux/nfs4.h> 16 17 /* 18 * Maximum protocol version supported by knfsd 19 */ 20 #define NFSSVC_MAXVERS 3 21 22 /* 23 * Maximum blocksizes supported by daemon under various circumstances. 24 */ 25 #define NFSSVC_MAXBLKSIZE RPCSVC_MAXPAYLOAD 26 /* NFSv2 is limited by the protocol specification, see RFC 1094 */ 27 #define NFSSVC_MAXBLKSIZE_V2 (8*1024) 28 29 #ifdef __KERNEL__ 30 31 #include <linux/sunrpc/msg_prot.h> 32 33 /* 34 * Largest number of bytes we need to allocate for an NFS 35 * call or reply. Used to control buffer sizes. We use 36 * the length of v3 WRITE, READDIR and READDIR replies 37 * which are an RPC header, up to 26 XDR units of reply 38 * data, and some page data. 39 * 40 * Note that accuracy here doesn't matter too much as the 41 * size is rounded up to a page size when allocating space. 42 */ 43 #define NFSD_BUFSIZE ((RPC_MAX_HEADER_WITH_AUTH+26)*XDR_UNIT + NFSSVC_MAXBLKSIZE) 44 45 #ifdef CONFIG_NFSD_V4 46 # define NFSSVC_XDRSIZE NFS4_SVC_XDRSIZE 47 #elif defined(CONFIG_NFSD_V3) 48 # define NFSSVC_XDRSIZE NFS3_SVC_XDRSIZE 49 #else 50 # define NFSSVC_XDRSIZE NFS2_SVC_XDRSIZE 51 #endif 52 53 #endif /* __KERNEL__ */ 54 55 #endif /* _LINUX_NFSD_CONST_H */ 56