blob: 3d3a305488cfa91375e280f18d62c5f60fde2a56 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001#ifndef _NFS_FS_SB
2#define _NFS_FS_SB
3
4#include <linux/list.h>
5#include <linux/backing-dev.h>
6
7/*
8 * NFS client parameters stored in the superblock.
9 */
10struct nfs_server {
11 struct rpc_clnt * client; /* RPC client handle */
12 struct rpc_clnt * client_sys; /* 2nd handle for FSINFO */
Andreas Gruenbacherb7fa0552005-06-22 17:16:27 +000013 struct rpc_clnt * client_acl; /* ACL RPC client handle */
Linus Torvalds1da177e2005-04-16 15:20:36 -070014 struct nfs_rpc_ops * rpc_ops; /* NFS protocol vector */
15 struct backing_dev_info backing_dev_info;
16 int flags; /* various flags */
17 unsigned int caps; /* server capabilities */
18 unsigned int rsize; /* read size */
19 unsigned int rpages; /* read size (in pages) */
20 unsigned int wsize; /* write size */
21 unsigned int wpages; /* write size (in pages) */
22 unsigned int wtmult; /* server disk block size */
23 unsigned int dtsize; /* readdir size */
24 unsigned int bsize; /* server block size */
25 unsigned int acregmin; /* attr cache timeouts */
26 unsigned int acregmax;
27 unsigned int acdirmin;
28 unsigned int acdirmax;
29 unsigned int namelen;
30 char * hostname; /* remote hostname */
31 struct nfs_fh fh;
32 struct sockaddr_in addr;
33#ifdef CONFIG_NFS_V4
34 /* Our own IP address, as a null-terminated string.
35 * This is used to generate the clientid, and the callback address.
36 */
37 char ip_addr[16];
38 char * mnt_path;
39 struct nfs4_client * nfs4_state; /* all NFSv4 state starts here */
40 struct list_head nfs4_siblings; /* List of other nfs_server structs
41 * that share the same clientid
42 */
43 u32 attr_bitmask[2];/* V4 bitmask representing the set
44 of attributes supported on this
45 filesystem */
46 u32 acl_bitmask; /* V4 bitmask representing the ACEs
47 that are supported on this
48 filesystem */
49#endif
50};
51
52/* Server capabilities */
53#define NFS_CAP_READDIRPLUS (1U << 0)
54#define NFS_CAP_HARDLINKS (1U << 1)
55#define NFS_CAP_SYMLINKS (1U << 2)
56#define NFS_CAP_ACLS (1U << 3)
57#define NFS_CAP_ATOMIC_OPEN (1U << 4)
58
59#endif