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