]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/blame - include/linux/nfs_fs_sb.h
NFS: Rename nfs_server::nfs4_state
[mirror_ubuntu-bionic-kernel.git] / include / linux / nfs_fs_sb.h
CommitLineData
1da177e4
LT
1#ifndef _NFS_FS_SB
2#define _NFS_FS_SB
3
4#include <linux/list.h>
5#include <linux/backing-dev.h>
6
d9ef5a8c
CL
7struct nfs_iostats;
8
1da177e4
LT
9/*
10 * NFS client parameters stored in the superblock.
11 */
12struct nfs_server {
13 struct rpc_clnt * client; /* RPC client handle */
14 struct rpc_clnt * client_sys; /* 2nd handle for FSINFO */
b7fa0554 15 struct rpc_clnt * client_acl; /* ACL RPC client handle */
1da177e4 16 struct nfs_rpc_ops * rpc_ops; /* NFS protocol vector */
d9ef5a8c 17 struct nfs_iostats * io_stats; /* I/O statistics */
1da177e4
LT
18 struct backing_dev_info backing_dev_info;
19 int flags; /* various flags */
20 unsigned int caps; /* server capabilities */
21 unsigned int rsize; /* read size */
22 unsigned int rpages; /* read size (in pages) */
23 unsigned int wsize; /* write size */
24 unsigned int wpages; /* write size (in pages) */
25 unsigned int wtmult; /* server disk block size */
26 unsigned int dtsize; /* readdir size */
27 unsigned int bsize; /* server block size */
28 unsigned int acregmin; /* attr cache timeouts */
29 unsigned int acregmax;
30 unsigned int acdirmin;
31 unsigned int acdirmax;
7a480e25
CL
32 unsigned long retrans_timeo; /* retransmit timeout */
33 unsigned int retrans_count; /* number of retransmit tries */
1da177e4
LT
34 unsigned int namelen;
35 char * hostname; /* remote hostname */
36 struct nfs_fh fh;
37 struct sockaddr_in addr;
8b4bdcf8 38 struct nfs_fsid fsid;
67ec9f46 39 unsigned long mount_time; /* when this fs was mounted */
1da177e4
LT
40#ifdef CONFIG_NFS_V4
41 /* Our own IP address, as a null-terminated string.
42 * This is used to generate the clientid, and the callback address.
43 */
44 char ip_addr[16];
45 char * mnt_path;
7539bbab 46 struct nfs_client * nfs_client; /* all NFSv4 state starts here */
1da177e4
LT
47 struct list_head nfs4_siblings; /* List of other nfs_server structs
48 * that share the same clientid
49 */
50 u32 attr_bitmask[2];/* V4 bitmask representing the set
51 of attributes supported on this
52 filesystem */
53 u32 acl_bitmask; /* V4 bitmask representing the ACEs
54 that are supported on this
55 filesystem */
56#endif
57};
58
59/* Server capabilities */
60#define NFS_CAP_READDIRPLUS (1U << 0)
61#define NFS_CAP_HARDLINKS (1U << 1)
62#define NFS_CAP_SYMLINKS (1U << 2)
63#define NFS_CAP_ACLS (1U << 3)
64#define NFS_CAP_ATOMIC_OPEN (1U << 4)
65
66#endif