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