at v2.6.21 1.4 kB view raw
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 */