xref: /linux/fs/nfs/nfs3_fs.h (revision 2ba9268dd603d23e17643437b2246acb6844953b)
1 /*
2  * Copyright (C) 2014 Anna Schumaker.
3  *
4  * NFSv3-specific filesystem definitions and declarations
5  */
6 #ifndef __LINUX_FS_NFS_NFS3_FS_H
7 #define __LINUX_FS_NFS_NFS3_FS_H
8 
9 /*
10  * nfs3acl.c
11  */
12 #ifdef CONFIG_NFS_V3_ACL
13 extern struct posix_acl *nfs3_get_acl(struct inode *inode, int type);
14 extern int nfs3_set_acl(struct inode *inode, struct posix_acl *acl, int type);
15 extern int nfs3_proc_setacls(struct inode *inode, struct posix_acl *acl,
16 		struct posix_acl *dfacl);
17 extern ssize_t nfs3_listxattr(struct dentry *, char *, size_t);
18 extern const struct xattr_handler *nfs3_xattr_handlers[];
19 #else
20 static inline int nfs3_proc_setacls(struct inode *inode, struct posix_acl *acl,
21 		struct posix_acl *dfacl)
22 {
23 	return 0;
24 }
25 #define nfs3_listxattr NULL
26 #endif /* CONFIG_NFS_V3_ACL */
27 
28 /* nfs3client.c */
29 struct nfs_server *nfs3_create_server(struct nfs_mount_info *, struct nfs_subversion *);
30 struct nfs_server *nfs3_clone_server(struct nfs_server *, struct nfs_fh *,
31 				     struct nfs_fattr *, rpc_authflavor_t);
32 
33 /* nfs3super.c */
34 extern struct nfs_subversion nfs_v3;
35 
36 #endif /* __LINUX_FS_NFS_NFS3_FS_H */
37